|
我们可以使用 xhr.responseType 属性来设置响应格式:
""(默认)—— 响应格式为字符串,
"text" —— 响应格式为字符串,
"arraybuffer" —— 响应格式为 ArrayBuffer(对于二进制数据,请参见 ArrayBuffer,二进制数组),
"blob" —— 响应格式为 Blob(对于二进制数据,请参见 Blob),
"document" —— 响应格式为 XML document(可以使用 XPath 和其他 XML 方法)或 HTML document(基于接收数据的 MIME 类型)
"json" —— 响应格式为 JSON(自动解析)。
例如,我们以 JSON 格式获取响应:
let xhr = new XMLHttpRequest();
xhr.open('GET', '/article/xmlhttprequest/example/json');
xhr.responseType = 'json';
xhr.send();
// 响应为 {"message": "Hello, world!"}
xhr.onload = function() {
let responseObj = xhr.response;
alert(responseObj.message); // Hello, world!
};
请注意:
在旧的脚本中,你可能会看到 xhr.responseText,甚至会看到 xhr.responseXML 属性。
它们是由于历史原因而存在的,以获取字符串或 XML 文档。如今,我们应该在 xhr.responseType 中设置格式,然后就能获取如上所示的 xhr.response 了。
|
|