Ajax是什麼?web
Ajax是一種web應用技術,能夠藉助客戶端腳本(JavaScript)與服務端應用進行異步通信,獲取服務端數據之後,能夠進行局部刷新,進而提升數據的響應和渲染速度。
Ajax優點和劣勢?編程
優點:底層同步,而後局部刷新,進而提升用戶體驗。Ajax能夠僅向服務器發送並取回必要的數據,並在客戶端採用JS處理來自服務器的響應,這樣在服務器和瀏覽器之間的交換數據會大量減小,服務器響應的數據就會更快了。 劣勢:不能直接進行跨域訪問。
傳統web應用中的同步請求應用時序模型分析:跨域
客戶端向服務器端發送請求須要等待服務器的響應結果,服務器返回數據之後,客戶端能夠繼續發送請求。如上圖:客戶端發送請求1給服務端,服務端接收到之後返回響應結果2給客戶端,客戶端在發送請求之後到服務端響應的過程就是一個等待時間。
基於Ajax技術的web異步請求響應應用時序模型分析瀏覽器
客戶端能夠向服務器發送異步請求,客戶端無需等待服務端的響應結果,能夠不斷的發送請求。如上圖:客戶端能夠發送1和2兩個請求到服務端,無需等待服務端一個一個的響應後再發送,即爲異步。
Ajax請求響應過程分析
全部的Ajax請求都會基於DOM事件,經過XHR(XMLHttpRequest)對象實現與服務端異步通信局部更新。
基於上圖的分析,編程步驟以下:
第一步:基於dom事件建立XHR對象;
第二步:註冊XHR對象狀態監聽,經過回調函數(rollback)處理狀態信息;
第三步:建立與服務端的鏈接;
第四步:發送異步請求實現與服務端的通信。服務器