Ajax 定義
這里說的 AJAX 可不是荷蘭的阿賈克斯,而是 Asynchronous JavaScript + XML 的縮寫,它也不是單一技術,而是幾種技術的強有力組合。參考《Ajax: A New Approach to Web Applications》文中所說,Ajax 包括:
* XHTML 和 CSS 的標準表示; * 使用 DOM(Document Object Model)進行動態(tài)顯示及交互; * 使用 XML 和 XSLT 進行數(shù)據(jù)交換及相關操作; * 使用 XMLHttpRequest 進行異步數(shù)據(jù)查詢、檢索; * 使用 JavaScript 將所有的東西綁定在一起。
Ajax 能夠做什么?
如今 Google Suggest 和 Google Maps 使用了 Ajax,通過 Ajax,我們可以使得客戶端得到豐富的應用體驗及交換操作,而用戶不會感覺到有網頁提交或刷新的過程,頁面也不需要被重新加載,應用的數(shù)據(jù)交換都被隱藏。
傳統(tǒng)的 WEB 應用程序模型是這樣工作的:用戶的界面操作觸發(fā) HTTP 請求,服務器在接收到請求之后進行一些業(yè)務邏輯處理,如保存數(shù)據(jù)等,然后向客戶端返回一個 HTML 頁面。但這種方式并沒有給予用戶很好的應用體驗,當服務器在處理數(shù)據(jù)的時候,用戶則處于等待的狀態(tài),每一步操作都需要等待,太多的等待會使用戶越來越沒有耐心。而 Ajax 則大不相同,它通過 Ajax 引擎,使得應用過程很自然,操作很流暢,因為其只和服務器交換有用的數(shù)據(jù),而頁面顯示等不必要的數(shù)據(jù)則不再重新加載。Ajax 引擎其實就是 JavaScript、XML、XMLHttpRequest 等等各項技術的綜合應用。
--圖 1:傳統(tǒng) WEB 應用模型(左)與 Ajax 應用模型(右)的對比
--圖 2:傳統(tǒng) WEB 應用程序的同步交互模式(上)與 Ajax 應用程序的異步模式(下)的對比
當前都有誰在使用 Ajax
當前應用 Ajax 的已有不少網站,如:
* Orkut * Gmail * Google Groups * Google Suggest * Google Maps * Flickr 的部分特性 * Amazon 的 A9.com 搜索引擎部分
Ajax 應用前景
Ajax 的最大挑戰(zhàn)并不是技術,組成 Ajax 的各項技術已經相當成熟、穩(wěn)定及易學,主要挑戰(zhàn)是如何使用 Ajax 設計應用程序,我們必須拋棄以往對于 WEB 局限性的看法,開始開闊視野、開放思想、不斷創(chuàng)新,實現(xiàn)更加豐富的應用體驗。
Ajax 項目
目前我所了解到的與 Ajax 相關的項目如下:
* SAJAX - PHP * JPSpan - PHP * DWR (Direct Web Remoting) - Java * JSP (JavaScript Templates) - JavaScript
更多信息可參考 del./popular/ajax。





