XMLHttpRequest:response 属性
注意:此功能在 Web Worker 中可用,但 Service Worker 除外。
XMLHttpRequest
的 response
属性返回响应主体内容,它可以是 ArrayBuffer
、Blob
、Document
、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 的浏览器中加载。
另请参阅
- 使用 XMLHttpRequest
- 获取文本和 HTML/XML 数据:
XMLHttpRequest.responseText
和XMLHttpRequest.responseXML