AJAX(Asynchronous Javascript And XML)翻譯成中文就是「異步Javascript和XML」。即便用Javascript語言與服務器進行異步交互,傳輸的數據爲XML(固然,傳輸的數據不僅是XML)。瀏覽器
- 同步交互:客戶端發出一個請求後,須要等待服務器響應結束後,才能發出第二個請求;
- 異步交互:客戶端發出一個請求後,無需等待服務器響應結束,就能夠發出第二個請求。
AJAX除了異步的特色外,還有一個就是:瀏覽器頁面局部刷新;(這一特色給用戶的感覺是在不知不覺中完成請求和響應過程)服務器
AJAX的優缺點
優勢:
- AJAX使用Javascript技術向服務器發送異步請求;
- AJAX無須刷新整個頁面;
- 由於服務器響應內容再也不是整個頁面,而是頁面中的局部,因此AJAX性能高;
缺點:
- AJAX並不適合全部場景,不少時候仍是要使用同步交互;
- AJAX雖然提升了用戶體驗,但無形中向服務器發送的請求次數增多了,致使服務器壓力增大;
- 由於AJAX是在瀏覽器中使用Javascript技術完成的,因此
- 須要處理瀏覽器兼容性問題;
-
AJAX技術
四步操做:
- 建立核心對象;
- 使用核心對象打開與服務器的鏈接;
- 發送請求
- 註冊監聽,監聽服務器響應。
XMLHTTPRequest
- open(請求方式, URL, 是否異步)
- send(請求體)
- onreadystatechange,指定監聽函數,它會在xmlHttp對象的狀態發生變化時被調用
- readyState,當前xmlHttp對象的狀態,其中4狀態表示服務器響應結束
- status:服務器響應的狀態碼,只有服務器響應結束時纔有這個東東,200表示響應成功;
- responseText:獲取服務器的響應體