我在我的 VueJS 应用程序中使用 blob responseType 和 Axios 从服务器下载文档。当响应代码为 200 时,它可以正常工作并下载文件,但是当出现任何 http 错误时,我无法在捕获错误时读取状态代码,因为该错误是 JSON 响应。
有没有人遇到过类似的问题,并找到了一种将 blob 响应类型转换为 json 并根据状态代码抛出错误的方法?
我尝试从 Laravel 后端以纯文本形式发送响应,并尝试在前端将响应转换为 JSON 或文本,但没有成功。
我曾尝试阅读错误响应标头,但没有成功。
公理({
网址:'xxx',
方法:'获取',
responseType: 'blob',
})
.then((响应) => {
//代码读取响应并使用blob创建对象url并下载文档
})
.catch((错误) => {
console.log('错误', error.message); //没有
console.log('错误', error.error); //不明确的
console.log('错误', error.data); //不明确的
const blb = new Blob([error], {type: "text/plain"});
const reader = new FileReader();
// 在读取/加载 blob 后触发。
reader.addEventListener('loadend', (e) => {
const text = e.srcElement.result;
控制台日志(文本);
});
// 开始以文本形式读取 blob。
reader.readAsText(blb);
});
我只想根据状态代码抛出错误消息。如果它是 …