XMLHttpRequest: response 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

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

XMLHttpRequestresponse 属性会根据请求的 responseType 属性的值,以 ArrayBufferBlobDocument、JavaScript Object 或字符串的形式返回响应体内容。

一个基于 responseType 值确定的适当对象。您可以通过在调用 open() 初始化请求后、调用 send() 将请求发送到服务器之前,设置 responseType 的值来尝试请求特定格式的数据。

如果请求尚未完成或不成功,则该值为 null。但有一个例外:当使用 "text" 或空字符串 ("") 的 responseType 读取文本数据时,在请求仍处于 LOADING (3) 的 readyState 状态时,响应可以包含到目前为止的响应内容。

示例

本示例介绍了一个名为 load() 的函数,用于从服务器加载和处理页面。它的工作方式是创建一个 XMLHttpRequest 对象,并创建一个 readystatechange 事件的监听器,当 readyState 变为 DONE (4) 时,获取 response 并将其传递给提供给 load() 的回调函数。

内容被处理为原始文本数据(因为此处没有任何内容覆盖默认的 responseType)。

js
const url = "somePage.html"; // A local page

function load(url, callback) {
  const xhr = new XMLHttpRequest();

  xhr.onreadystatechange = () => {
    if (xhr.readyState === 4) {
      callback(xhr.response);
    }
  };

  xhr.open("GET", url, true);
  xhr.send("");
}

规范

规范
XMLHttpRequest
# the-response-attribute

浏览器兼容性

另见