|
英文原文:Reverse Ajax, Part 1: Introduction to Comet
在過去的幾年中,web開發已經發生了很大的變化。現如今,我們期望的是能夠通過web快速、動態地訪問應用。在這一新的文章系列中,我們學習如何使用反向Ajax(Reverse Ajax)技術來開發事件驅動的web應用,以此來實現更好的用戶體驗。客戶端的例子使用的是JQuery JavaScript庫,在這首篇文章中,我們探索不同的反向Ajax技術,使用可下載的例子來學習使用了流(streaming)方法和長輪詢(long polling)方法的Comet。
前言
web開發在過去的幾年中有了很大的進展,我們已經遠超了把靜態網頁鏈接在一起的做法,這種做法會引起瀏覽器的刷新,并且要等待頁面的加載。現在需要的是能夠通過web來訪問的完全動態的應用,這些應用通常需要盡可能的快,提供近乎實時的組件。在這一新的由五部分組成的文章系列中,我們學習如何使用反向Ajax(Reverse Ajax)技術來開發事件驅動的web應用。
在這第一篇文章中,我們要了解反向Ajax、輪詢(polling)、流(streaming)、Comet和長輪詢(long polling),學習如何實現不同的反向Ajax通信技術,并探討每種方法的優點和缺點。你可以下載本文中例子的相應源代碼。
Ajax、反向Ajax和WebSocket
異步的JavaScript和XML(Asynchronous JavaScript and XML,Ajax),一種可通過JavaScript來訪問的瀏覽器功能特性,其允許腳本向幕后的網站發送一個HTTP請求而又無需重新加載頁面。Ajax的出現已經超過了十年,盡管其名字中包含了XML,但你幾乎可以在Ajax請求中傳送任何的東西,最常用的數據是JSON,其與JavaScript語法很接近,且消耗更少帶寬。清單1給出了這樣的一個例子,Ajax請求通過某個地方的郵政編碼來檢索該地的名稱。
清單1. Ajax請求舉例
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知識庫:反向Ajax,第1部分:Comet介紹,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。