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 # 状态 |
浏览器兼容性
加载中…