XMLHttpRequest:response 属性

基线 广泛可用

此功能已得到良好建立,并在许多设备和浏览器版本中运行。它从以下时间起在所有浏览器中都可用: 2015 年 7 月.

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

XMLHttpRequestresponse 属性返回响应主体内容,它可以是 ArrayBufferBlobDocument、JavaScript Object 或字符串,具体取决于请求的 responseType 属性的值。

根据 responseType 属性的值返回相应的对象。你可以尝试通过在调用 open() 初始化请求后,但在调用 send() 将请求发送到服务器之前设置 responseType 属性的值来请求以特定格式提供数据。

如果请求尚未完成或不成功,则该值为 null,但如果使用 "text" 或空字符串 ("") 的 responseType 读取文本数据,则即使请求仍处于 LOADING readyState (3) 状态,响应也可能包含到目前为止的响应。

示例

此示例展示了一个函数 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

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅