当前端进行导出Excel时, 由于转换了类型 为 blob,
将数据流进行导出, 但是当数据为0时,后台将返回错误信息,从而不进行导出,前端要对这样的情况进行单独处理。
但是拿到的数据格式为blob,这时需要前端转换后台相应的blob格式的错误信息。
response代码中json定义如下:
let response = {
code: 4000,
message:'导出失败',
};
let responseblob = new Blob([JSON.stringify(response )], {
type: 'application/json'
});
console.log(responseblob );
将blob数据转为json
数据
if (responseblob.type == 'application/json') {
let reader = new FileReader();
reader.onload = function (e) {
let readerres = reader.result;
let parseObj = JSON.parse(readerres);
console.log(parseObj)
}
reader.readAsText(responseblob, 'utf-8');
}
如果load事件不执行的话,就修改为以下写法处理
if (responseblob.type == 'application/json') {
let reader = new FileReader();
reader.addEventListener("load", function(e){
let readerres = reader.result;
let parseObj = JSON.parse(readerres);
console.log(parseObj)
}
reader.readAsText(responseblob, 'utf-8');
}