接口设置responseType: “arraybuffer“;导致识别不了报错信息问题

当将请求的responseType设为'arraybuffer'时,所有返回内容,包括json和字符串,都会以该格式呈现,导致无法正常识别报错信息。为解决此问题,可以与后端协商通过请求头参数判断错误。对于arraybuffer数据,可以通过Blob对象处理文件格式信息或使用FileReader转换文字信息。
摘要由CSDN通过智能技术生成

请求时的responseType的值设为arraybuffer,但是注意,这会引起一个问题,返回结构的data中所有内容都会是这种格式,包括json和字符串,因此,如果是其他的报错信息,也无法按之前的方式打印。

后台返回的标志信息都无法获取,无法区分是否正确,因此,跟后台协商,添加请求头参数(或者修改请求头参数),通过请求头参数来判断正确错误。

数据处理:

1、文件格式信息

let blob = new Blob([接收到的数据],{type: 'application/文件格式'}) 一定要加[]

然后创建a标签,设置路径(window.URL.createObjectURL(blob)),用.download设置文件名称,然后通过.click()来自动下载

2、文字信息

const blob = new Blob([接收到的数据])

然后使用fileReader对象进行数据转换和输出

const reader = new FileReader()

reader.readAsText(blob, 'utf-8')

reader.onload = function() {

const resData = JSON.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值