axios请求返回错误 前端如何捕获
时间: 2024-01-27 11:05:16 浏览: 214
在使用 axios 发送请求时,可以通过 Promise 的方式来捕获请求返回的错误。axios 请求返回的错误有两种情况:网络错误和业务错误。
网络错误通常是指请求无法发送或者服务器无法响应等问题,这种错误一般会导致 Promise 被拒绝(rejected)。我们可以通过 Promise 的 catch 方法来捕获这种错误,例如:
```javascript
axios.get('/api/data')
.then(response => {
// 处理响应数据
})
.catch(error => {
// 处理网络错误
console.log(error);
});
```
业务错误通常是指请求发送成功,但服务器返回的数据表示请求失败或者出现了其他错误,这种错误一般不会导致 Promise 被拒绝,而是返回一个包含错误信息的响应对象。我们可以通过判断响应对象的状态码或者其他字段来判断是否有业务错误,例如:
```javascript
axios.get('/api/data')
.then(response => {
if (response.data.code === 0) {
// 处理响应数据
} else {
// 处理业务错误
console.log(response.data.message);
}
})
.catch(error => {
// 处理网络错误
console.log(error);
});
```
上面的代码中,我们通过判断响应对象的 code 字段来确定是否有业务错误,如果 code 等于 0,则表示请求成功,否则表示请求失败。如果有业务错误,我们就打印出错误信息;如果没有业务错误,我们就处理响应数据。
阅读全文