XMLHttpRequest: readystatechange 事件

基线 广泛可用

此功能已得到很好的建立,并且可在许多设备和浏览器版本中使用。它自以下时间起在浏览器中可用 2015 年 7 月.

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

readystatechange 事件在readyState属性的XMLHttpRequest发生更改时触发。

警告:这不应该与同步请求一起使用,也不应该从原生代码中使用。

语法

在诸如addEventListener()之类的办法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("readystatechange", (event) => {});

onreadystatechange = (event) => {};

事件类型

一个通用的Event,没有添加任何属性。

示例

js
const xhr = new XMLHttpRequest();
const method = "GET";
const url = "https://mdn.org.cn/";

xhr.open(method, url, true);
xhr.onreadystatechange = () => {
  // In local files, status is 0 upon success in Mozilla Firefox
  if (xhr.readyState === XMLHttpRequest.DONE) {
    const status = xhr.status;
    if (status === 0 || (status >= 200 && status < 400)) {
      // The request has been completed successfully
      console.log(xhr.responseText);
    } else {
      // Oh no! There has been an error with the request!
    }
  }
};
xhr.send();

规范

规范
XMLHttpRequest 标准
# event-xhr-readystatechange
XMLHttpRequest 标准
# handler-xhr-onreadystatechange

浏览器兼容性

BCD 表格仅在浏览器中加载