怎樣獲取xhr的當前狀態


一個XMLHttpRequets實例從創建到發起請求再到獲取數據, 期間會有一些中間狀態, 這些狀態是必要的, 我們可以通過判斷這些狀態值來進行不同的動作.

xhr中獲取請求狀態的屬性是: xhr.readyState 它有五種狀態可供返回: 

0: xhr實例已經創建, 但xhr.open()方法尚未調用;

1: xhr.open()已調用, 但xhr.send()尚未調用, 這個階段可以使用xhr.setRequestHeader()方法設置HTTP請求頭信息;

2: xhr.send()已調用, 並且服務器返回的頭信息和狀態碼已收到;

3: 這個階段是數據的下載階段, 具體是否有數據, 需要使用xhr.responseType來作判斷, 然后通過xhr.responseText進行獲取;

4: 這個請求結束, 可能是請求成功或失敗, 但服務器傳給客戶端的數據已經完全接收. 后續不再有新的狀態

var xhr = new XMLHttpRequest();

if (xhr.readyState === 4) {
  // 請求結束,處理服務器返回的數據
} else {
  // 顯示提示“加載中……”
}

 

注意: 每一次xhr.readyState值的變化, 都會觸發readystatechange事件, 可以給這個事件添加監聽函數做業務邏輯.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM