axios.get('/user/12345')
.catch(function (error) {
if (error.response) {
// 请求已发出,且服务器的响应状态码超出了 2xx 范围
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else if (error.request) {
// 请求已发出,但没有接收到任何响应
// 在浏览器中,error.request 是 XMLHttpRequest 实例
// 在 node.js 中,error.request 是 http.ClientRequest 实例
console.log(error.request);
} else {
// 引发请求错误的错误信息
console.log('Error', error.message);
}
console.log(error.config);
});
你可以使用 validateStatus
配置选项定义一个自定义 HTTP 状态码的错误范围:
axios.get('/user/12345', {
validateStatus: function (status) {
// 当且仅当 status 大于等于 500 时 Promise 才被 reject
return status < 500;
}
});