1、AJAX 定義小程序
AJAX(Asynchronous JavaScript and XML)實際上是多種技術的綜合,包括 Javascript、XHTML 和 CSS、DOM、XML 和 XSTL、XMLHttpRequest。其中:使用 XHTML 和 CSS 標準化呈現,使用 DOM 實現動態顯示和交互,使用 XML 和 XSTL 進行數據交換與處理,使用 XMLHttpRequest 對象進行異步數據讀取,使用 Javascript 綁定和處理全部數據。瀏覽器
2、AJAX 優勢安全
減輕服務器的負擔。AJAX 的原則是「按需取數據」,能夠最大程度的減小冗餘請求,和響應對服務器形成的負擔。服務器
無刷新更新頁面,減小用戶心理和實際的等待時間。特別的,當要讀取大量的數據的時候,不用像 Reload 那樣出現白屏的狀況,AJAX 使用 XMLHTTP 對象發送請求並獲得服務器響應,在不從新載入整個頁面的狀況下用 Javascript 操做 DOM 最終更新頁面。因此在讀取數據的過程當中,用戶所面對的不是白屏,是原來的頁面內容(也能夠加一個Loading 的提示框讓用戶知道處於讀取數據過程),只有當數據接收完畢以後才更新相應部分的內容。這種更新是瞬間的,用戶幾乎感受不到。異步
帶來更好的用戶體驗。佈局
能夠把之前一些服務器負擔的工做轉嫁到客戶端,利用客戶端閒置的能力來處理,減輕服務器和帶寬的負擔,節約空間和寬帶租用成本。搜索引擎
能夠調用外部數據。spa
基於標準化的並被普遍支持的技術,不須要下載插件或者小程序。.net
進一步促進頁面呈現和數據的分離。插件
3、AJAX 缺點
AJAX幹掉了Back和History功能,即對瀏覽器機制的破壞。
AJAX的安全問題。
對搜索引擎支持較弱。
破壞程序的異常處理機制。
違背URL和資源定位的初衷。
AJAX不能很好支持移動設備。
客戶端過肥,太多客戶端代碼形成開發上的成本。
4、AJAX 工做原理
Ajax的工做原理至關於在用戶和服務器之間加了—箇中間層(AJAX引擎),使用戶操做與服務器響應異步化。並非全部的用戶請求都提交給服務器,像—些數據驗證和數據處理等都交給Ajax引擎本身來作, 只有肯定須要從服務器讀取新數據時再由Ajax引擎代爲向服務器提交請求。
工做原理示意圖
5、AJAX 應用場景
改善用戶體驗。【輸入內容前提示、帶進度條文件上傳...】
電子商務應用。【購物車、郵件訂閱...】
訪問第三方服務。【訪問搜索服務、rss閱讀器】
數據的佈局刷新