http请求有个responseType, 用来设置返回值,默认是'',等同于text,数据格式的转换是浏览器处理的
我们还会用到json,buffer,blob
json:是我们经常遇到后端返回的数据格式,直接res.json就可以
blob,当后端返回一个文件流时候回用到,
let a = new FileReader();
a.readAsDataURL(this.response)
a.onload = function (e){
setUrl(e.target.result)
};
buffer:
读取buffer
let bytes = new Uint8Array(this.response);//这里打印返回的response,会显示[[Int8Array]],也就是当前buffer需要Int8Array来构建视图
let data = "";
let len = bytes.byteLength;
for (let i = 0; i < len; i++) {
data += String.fromCharCode(bytes[i]);
}
setUrl("data:image/png;base64," + window.btoa(data));