AJAX全稱爲「Asynchronous JavaScript and XML」(異步JavaScript和
XML
),是指一種建立交互式網頁應用的網頁開發技術。
主要包含了如下幾種技術:
Ajax(Asynchronous JavaScript + XML)的定義
相似於DHTML或LAMP,AJAX不是指一種單一的技術,而是有機地利用了一系列相關的技術。事實上,一些基於AJAX的「派生/合成」式(derivative/composite)的技術正在出現,如「AFLAX」。
Ajax的工做原理至關於在用戶和服務器之間加了—箇中間層,使用戶操做與服務器響應異步化。並非全部的用戶請求都提交給服務器,像—些數據驗證和數據處理等都交給Ajax引擎本身來作,只有肯定須要從服務器讀取新數據時再由Ajax引擎代爲向服務器提交請求。
與傳統的web應用比較
傳統的web應用容許用戶填寫表單(form),當提交表單時就向web服務器發送一個請求。服務器接收並處理傳來的表單,然後返回一個新的網頁。這個作法浪費了許多帶寬,由於在前後兩個頁面中的大部分HTML代碼每每是相同的。因爲每次應用的交互都須要向服務器發送請求,應用的響應時間就依賴於服務器的響應時間。這致使了用戶界面的響應比本地應用慢得多。
與此不一樣,AJAX應用能夠僅向服務器發送並取回必需的數據,它使用
SOAP
或其它一些基於XML的web service接口,並在客戶端採用JavaScript處理來自服務器的響應。由於在服務器和瀏覽器之間交換的數據大量減小,結果咱們就能看到響應更快的應用。同時不少的處理工做能夠在發出請求的客戶端機器上完成,因此Web服務器的處理時間也減小了。
傳統web應用與AJAX應用的比較:處理用戶交互