怎样设置或查看服务器返回数据的数据类型

使用: xhr.responseType; 这个属性可读写, 也就是说, 我们可以在xhr.open()之后, 在xhr.send()之前, 设置 xhr.responseType属性, 使其告诉服务器客户端需要什么类型的数据;

xhr.responseType 的属性值可以是: 

1. 空字符串: "", 等同于text, 表示服务器返回文本数据;

2. ArrayBuffer对象: "arraybuffer" , 表示服务器返回二进制数组;

3. Blob对象: "blob", 表示服务器返回二进制对象;

4. JSON对象: "json";

5. 字符串: "text"

下面是一个xhr.responseType 为 blob 的示例:

var xhr = new XMLHttpRequest();
xhr.open('GET', '/path/to/image.png', true);
xhr.responseType = 'blob';

xhr.onload = function(e) {
  if (this.status === 200) {
    var blob = new Blob([xhr.response], {type: 'image/png'});
    // 或者
    var blob = xhr.response;
  }
};

xhr.send();

注意: 不是说xhr.responseType设置什么类型, 服务器就返回什么类型, 这个是需要前后端沟通的, 对xhr.responseType属性的设置其实主要是为了xhr.response能够自动按照设置的值进行解析. 

原文地址:https://www.cnblogs.com/aisowe/p/11555393.html