js
axios.get('/user/12345')
.catch((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中是 http.ClientRequest 的实例
console.log(error.request)
}
else {
// 发送请求时出了点问题
console.log('Error', error.message)
}
console.log(error.config)
})
使用 validateStatus
配置选项,可以自定义抛出错误的 HTTP code。
js
axios.get('/user/12345', {
validateStatus(status) {
return status < 500 // 处理状态码小于500的情况
}
})
使用 toJSON
可以获取更多关于HTTP错误的信息。
js
axios.get('/user/12345')
.catch((error) => {
console.log(error.toJSON())
})