AJAX工做原理及其優缺點

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 應用場景

  1. 動態加載數據,按需取得數據。【樹形菜單、聯動菜單.../省市聯動】

  2. 改善用戶體驗。【輸入內容前提示、帶進度條文件上傳...】

  3. 電子商務應用。【購物車、郵件訂閱...】

  4. 訪問第三方服務。【訪問搜索服務、rss閱讀器】

  5.  數據的佈局刷新

相關文章
相關標籤/搜索