项目场景:
捕获后台返回接口中异常处理
问题描述:
提示:发现打印不出返回的message信息
@Override
upload2("/api/****", data)
.then((res) => {
if (res.data.success) {//成功时操作
this.$message({
message: '导入成功!',
type: 'success'
});
}
})
.catch((err) => {
//错误处理,直接打印err没有数据
console.log(err)
原因分析:
需要处理接口返回的数据解决方案:
1、改成err.response.data
this.$alert(err.response.data.message.replace(/\\n/g,"、"), "错误提示", {
confirmButtonText: "确定",
dangerouslyUseHTMLString: true,
});
});;
2、返回类型为blob
creatErr => {
let data = creatErr.response.data
const that = this
if (creatErr.request.responseType === 'blob') {
var reader = new FileReader()
reader.readAsText(data, 'utf-8')
reader.onload = function() {
data = JSON.parse(reader.result)
this.$alert(data.message, '错误提示', {
confirmButtonText: '确定',
dangerouslyUseHTMLString: true
})