XMLHttpRequest: readyState 属性

基线 广泛可用

此功能非常成熟,可在许多设备和浏览器版本中使用。它从 2015 年 7 月.

报告反馈

注意:此功能在 Web Workers 中可用,但 Service Workers 除外。

XMLHttpRequest.readyState 属性返回 XMLHttpRequest 客户端所处的状态。XHR 客户端处于以下状态之一: 状态
0 描述 UNSENT
1 客户端已创建。尚未调用 open() OPENED
2 已调用 open() HEADERS_RECEIVED
3 已调用 send(),并且标头和状态可用。 LOADING
4 正在下载;responseText 包含部分数据。 DONE
描述

操作已完成。

客户端已创建。尚未调用 open()

XMLHttpRequest 客户端已创建,但尚未调用 open() 方法。

已调用 open()

已调用 open() 方法。在此状态下,可以使用 setRequestHeader() 方法设置请求标头,并且可以调用 send() 方法,这将启动获取操作。

已调用 send(),并且标头和状态可用。

已调用 send(),所有重定向(如果有)已完成,并且已收到响应标头。

正在下载;responseText 包含部分数据。

正在接收响应主体。如果 responseType 为 "text" 或空字符串,则 responseText 将包含部分文本响应,因为它正在加载。

示例

获取操作已完成。这可能意味着数据传输已成功完成或失败。
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);

规范

js
规范
# XMLHttpRequest 标准

浏览器兼容性

状态