XMLHttpRequest.responseType
属性是一个枚举类型的属性,返回响应数据的类型。它允许我们手动的设置返回数据的类型。如果我们将它设置为一个空字符串,它将使用默认的"text"类型。
在工作环境(Work Environment)
中将responseType
的值设置为"document"
通常会被忽略. 当将responseType
设置为一个特定的类型时,你需要确保服务器所返回的类型和你所设置的返回值类型是兼容的。那么如果两者类型不兼容呢?恭喜你,你会发现服务器返回的数据变成了null
,即使服务器返回了数据。还有一个要注意的是,给一个同步请求设置responseType
会抛出一个InvalidAccessError
的异常。
responseType
支持以下几种值:
""
responseType
为空字符串时,采用默认类型 DOMString
,与设置为 text
相同。
arraybuffer
response
是一个包含二进制数据的 JavaScript ArrayBuffer
。
blob
response
是一个包含二进制数据的 Blob
对象 。
document
response
是一个 HTML Document
或 XML XMLDocument
,这取决于接收到的数据的 MIME 类型。请参阅 XMLHttpRequest 中的 HTML 以了解使用 XHR 获取 HTML 内容的更多信息。
json
response
是一个 JavaScript 对象。这个对象是通过将接收到的数据类型视为 JSON 解析得到的。
text
response
是一个以 DOMString
对象表示的文本。
ms-stream
response
是下载流的一部分;此响应类型仅允许下载请求,并且仅受Internet Explorer
支持。