1.創建一個XMLHttpRequest對象
2.對XMLHttpRequest對象進行事件的監聽(定義監聽事件的位置不影響
3.對XMLHttpRequest對象的狀態碼
狀態? | ?名稱 | 描述 |
0 | Uninitialized | 初始化狀態。XMLHttpRequest 對象已創建或已被 abort() 方法重置 |
1 | Open? | open() 方法已調用,但是 send() 方法未調用。請求還沒有被發送 |
2 | Sent? | Send() 方法已調用,HTTP 請求已發送到 Web 服務器。未接收到響應 |
3 | Receiving | 所有響應頭部都已經接收到。響應體開始接收但未完成 |
4 | Loaded | HTTP 響應已經完全接收 |
?
***注***
xhr.onreadystatechange = function(){
console.log(xhr.readyState)
}
//輸出結果狀態碼只有2,3,4并沒有0,1,這是因為該事件發生時,XMLHttpRequest對象已經調用了send()方法,如需不采取監聽事件的方式對對象發送數據前的動作進行操作,可以在xhr.send()之前定義
如:if(xhr.readyState == 1) or if(xhr.readyState == 1)
該處理可用于ajax請求數據的原生寫法中添加效果處理,例如:給請求數據過程中添加加載效果等等
?