XMLHttpRequest: readyState 屬性
注意:此功能在 Web Workers 中可用,但 Service Workers 除外。
XMLHttpRequest.readyState 屬性返回 XMLHttpRequest 客戶端當前所處的狀態。XHR 客戶端有以下幾種狀態:
| 值 | 狀態 | 描述 |
|---|---|---|
0 |
UNSENT |
客戶端已建立。open() 尚未呼叫。 |
1 |
OPENED |
open() 已呼叫。 |
2 |
HEADERS_RECEIVED |
send() 已呼叫,並且響應頭和狀態資訊可用。 |
3 |
LOADING |
正在下載;responseText 包含部分資料。 |
4 |
DONE |
操作已完成。 |
- UNSENT
-
XMLHttpRequest 客戶端已建立,但尚未呼叫 open() 方法。
- OPENED
-
已呼叫 open() 方法。在此狀態下,可以使用 setRequestHeader() 方法設定請求頭,並且可以呼叫 send() 方法來發起請求。
- HEADERS_RECEIVED
-
已呼叫 send(),所有重定向(如果有)都已處理完畢,並且已收到響應頭。
- LOADING
-
正在接收響應體。如果
responseType設定為 "text" 或空字串,responseText將在載入過程中包含部分文字響應。 - DONE
-
請求操作已完成。這可能意味著資料傳輸已成功完成或失敗。
示例
js
const xhr = new XMLHttpRequest();
console.log("UNSENT", xhr.readyState); // readyState will be 0
xhr.open("GET", "/api", true);
console.log("OPENED", xhr.readyState); // readyState will be 1
xhr.onprogress = () => {
console.log("LOADING", xhr.readyState); // readyState will be 3
};
xhr.onload = () => {
console.log("DONE", xhr.readyState); // readyState will be 4
};
xhr.send(null);
規範
| 規範 |
|---|
| XMLHttpRequest # 狀態 |
瀏覽器相容性
載入中…