刷新網(wǎng)頁(yè)——等待。。。——刷新網(wǎng)頁(yè)——等待。。。
當(dāng)您在使用瀏覽器瀏覽網(wǎng)頁(yè)的時(shí)候,您是否經(jīng)常遇到上面的情況?當(dāng)您面對(duì)空白而緩慢展現(xiàn)的屏幕時(shí),您是否感到痛苦甚至憤怒?
現(xiàn)在,有一種越來(lái)越流行越熱的“老”技術(shù),可以改變這種窘迫的局面。那就是Ajax。如今,隨著Gmail、Google-maps的應(yīng)用和各種瀏覽器的支持,Ajax正逐漸吸引全世界的眼球。
1.Ajax技術(shù)簡(jiǎn)介AJAX(Asynchronous JavaScript and XML,即異步JavaScript + XML),其實(shí)是多種技術(shù)的綜合。正如Ajax的命名者Jesse James Garrett所指出的:
Ajax不是一項(xiàng)技術(shù)。它其實(shí)是幾項(xiàng)技術(shù),每項(xiàng)技術(shù)自身都很繁榮,它們以強(qiáng)有力的全新方式結(jié)合起來(lái)。
Ajax主要涵蓋以下幾方面的技術(shù):
-- 運(yùn)用XHTML和CSS實(shí)現(xiàn)基于各種標(biāo)準(zhǔn)的展示。
-- 運(yùn)用文檔對(duì)象模型(Document Object Model)實(shí)現(xiàn)動(dòng)態(tài)顯示和交互。
-- 運(yùn)用XML和XSLT實(shí)現(xiàn)數(shù)據(jù)交換和操作。
-- 運(yùn)用XMLHttpRequet實(shí)現(xiàn)異步數(shù)據(jù)檢索。
-- JavaScript將所有這些綁定到一起。
與傳統(tǒng)的Web應(yīng)用不同,Ajax采用異步交互過(guò)程。Ajax在用戶與服務(wù)器之間引入一個(gè)中間媒介,從而消除了網(wǎng)絡(luò)交互過(guò)程中的處理—等待—處理—等待缺點(diǎn)。用戶的瀏覽器在執(zhí)行任務(wù)時(shí)即裝載了Ajax引擎。Ajax引擎用JavaScript語(yǔ)言編寫(xiě),通常藏在一個(gè)隱藏的框架中。它負(fù)責(zé)編譯用戶界面及與服務(wù)器之間的交互。Ajax引擎允許用戶與應(yīng)用軟件之間的交互過(guò)程異步進(jìn)行,獨(dú)立于用戶與網(wǎng)絡(luò)服務(wù)器間的交流。AJAX的原則是“按需取數(shù)據(jù)”,使用Ajax可以最大程度的減少冗余請(qǐng)求,和響應(yīng)對(duì)服務(wù)器造成的負(fù)擔(dān)。


圖 傳統(tǒng)web模型和Ajax web模型比較