|
英文原文:Reverse Ajax, Part 1: Introduction to Comet
在過(guò)去的幾年中,web開發(fā)已經(jīng)發(fā)生了很大的變化。現(xiàn)如今,我們期望的是能夠通過(guò)web快速、動(dòng)態(tài)地訪問應(yīng)用。在這一新的文章系列中,我們學(xué)習(xí)如何使用反向Ajax(Reverse Ajax)技術(shù)來(lái)開發(fā)事件驅(qū)動(dòng)的web應(yīng)用,以此來(lái)實(shí)現(xiàn)更好的用戶體驗(yàn)。客戶端的例子使用的是JQuery JavaScript庫(kù),在這首篇文章中,我們探索不同的反向Ajax技術(shù),使用可下載的例子來(lái)學(xué)習(xí)使用了流(streaming)方法和長(zhǎng)輪詢(long polling)方法的Comet。
前言
web開發(fā)在過(guò)去的幾年中有了很大的進(jìn)展,我們已經(jīng)遠(yuǎn)超了把靜態(tài)網(wǎng)頁(yè)鏈接在一起的做法,這種做法會(huì)引起瀏覽器的刷新,并且要等待頁(yè)面的加載。現(xiàn)在需要的是能夠通過(guò)web來(lái)訪問的完全動(dòng)態(tài)的應(yīng)用,這些應(yīng)用通常需要盡可能的快,提供近乎實(shí)時(shí)的組件。在這一新的由五部分組成的文章系列中,我們學(xué)習(xí)如何使用反向Ajax(Reverse Ajax)技術(shù)來(lái)開發(fā)事件驅(qū)動(dòng)的web應(yīng)用。
在這第一篇文章中,我們要了解反向Ajax、輪詢(polling)、流(streaming)、Comet和長(zhǎng)輪詢(long polling),學(xué)習(xí)如何實(shí)現(xiàn)不同的反向Ajax通信技術(shù),并探討每種方法的優(yōu)點(diǎn)和缺點(diǎn)。你可以下載本文中例子的相應(yīng)源代碼。
Ajax、反向Ajax和WebSocket
異步的JavaScript和XML(Asynchronous JavaScript and XML,Ajax),一種可通過(guò)JavaScript來(lái)訪問的瀏覽器功能特性,其允許腳本向幕后的網(wǎng)站發(fā)送一個(gè)HTTP請(qǐng)求而又無(wú)需重新加載頁(yè)面。Ajax的出現(xiàn)已經(jīng)超過(guò)了十年,盡管其名字中包含了XML,但你幾乎可以在Ajax請(qǐng)求中傳送任何的東西,最常用的數(shù)據(jù)是JSON,其與JavaScript語(yǔ)法很接近,且消耗更少帶寬。清單1給出了這樣的一個(gè)例子,Ajax請(qǐng)求通過(guò)某個(gè)地方的郵政編碼來(lái)檢索該地的名稱。
清單1. Ajax請(qǐng)求舉例
var url ='http://www.geonames.org/postalCodeLookupJSON?postalcode='+ $('#postalCode').val() +'&country='
+ $('#country').val() +'&callback=?';
$.getJSON(url, function(data) {
$('#placeName').val(data.postalcodes[0].placeName);
});
it知識(shí)庫(kù):反向Ajax,第1部分:Comet介紹,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。