XMLHttpRequest: responseType 属性

注意:此功能在 Web Workers 中可用,除了 Service Workers

XMLHttpRequest 属性 responseType 是一个枚举字符串值,指定响应中包含的数据类型。

它还允许作者更改响应类型。如果将空字符串设置为 responseType 的值,则使用 text 的默认值。

指定响应包含的数据类型的字符串。它可以取以下值

""

responseType 字符串与 "text"(默认类型)相同。

"arraybuffer"

response 是一个 JavaScript ArrayBuffer,包含二进制数据。

"blob"

response 是一个包含二进制数据的 Blob 对象。

"document"

response 是一个 HTML DocumentXML XMLDocument,根据接收到的数据的 MIME 类型确定。请参阅 XMLHttpRequest 中的 HTML,以了解有关使用 XHR 获取 HTML 内容的更多信息。

"json"

response 是一个 JavaScript 对象,通过将接收到的数据内容解析为 JSON 创建。

"text"

response 是字符串中的文本。

注意:在将 responseType 设置为特定值时,作者应确保服务器实际上正在发送与该格式兼容的响应。如果服务器返回的数据与设置的 responseType 不兼容,则 response 的值将为 null

异常

InvalidAccessError DOMException

尝试在同步模式下但不在 Worker 中更改 XMLHttpRequestresponseType 值。有关更多详细信息,请参阅下面的 同步 XHR 限制

使用说明

同步 XHR 限制

您不能更改同步 XMLHttpRequestresponseType 的值,除非请求属于 Worker。此限制的设计部分是为了帮助确保同步操作不用于阻止浏览器主线程的大型事务,从而降低用户体验。

XHR 请求默认情况下是异步的;仅通过在调用 open() 时将 false 作为可选 async 参数的值传递,才能将其置于同步模式。

Workers 中的限制

Worker 中,尝试将 responseType 的值设置为 document 将被忽略。

规范

规范
XMLHttpRequest 标准
# the-responsetype-attribute

浏览器兼容性

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

另请参阅