一 簡介
AJAX(Asynchronous Javascript And XML),即AJAX = 異步JavaScript + XML。AJAX是一種用於建立快速動態網頁的技術。
瀏覽器
AJAX兩大特色:服務器
- 與服務器異步交互
- 瀏覽器頁面局部刷新:在不從新加載整個網頁的狀況下,對網頁的某部分進行刷新。
同步交互和異步交互:異步
同步交互:客戶端發送一個請求後,須要等待服務端響應結束後才能發送第二個請求;函數
異步交互:客戶端發送一個請求後,無需等待服務端響應結束就能夠發送第二個請求。性能
二 AJAX優缺點
優勢:spa
- AJAX使用JavaScript技術向服務器發送異步請求
- AJAX無須刷新整個瀏覽器頁面,即可實現局部刷新
- 相比刷新整個頁面,AJAX局部刷新性能更高
缺點:xml
- AJAX並不適用於全部場景,有些時候仍是須要用到同步交互
- AJAX雖然提升了用戶體驗,但無形中向服務器發送的請求增長來,致使服務器壓力增大
- AJAX經過JavaScript技術實現,須要解決不一樣瀏覽器之間的兼容性問題
三 AJAX工做原理
四步操做:對象
- 建立核心對象;
- 使用核心對象打開與服務器的鏈接;
- 發送請求
- 註冊監聽,監聽服務器響應。
XMLHttpRequest:blog
- open(請求方式, URL, 是否異步)
- send(請求體)
- onreadystatechange,指定監聽函數,它會在xmlHttp對象的狀態發生變化時被調用
- readyState,當前xmlHttp對象的狀態,其中4狀態表示服務器響應結束
- status:服務器響應的狀態碼,只有服務器響應結束時纔有這個東東,200表示響應成功;
- responseText:獲取服務器的響應體