axios如何获取后端接口返回的状态码以及相关信息
如题:axios如何获取后端接口返回的状态码以及相关信息
axios返回的有两个函数
axios.get("/internal/user/check_mobile_and_sent_code",{withCredentials:true,params:{mobile:formInline.mobile}}).then(res=>{
console.log(res);
//if(res.result==true){
if (!this.timer) {
this.count = this.TIME_COUNT;
this.show = false;
this.timer = setInterval(() => {
if (this.count > 0 && this.count <= this.TIME_COUNT) {
this.count--;
} else {
this.show = true;
clearInterval(this.timer);
this.timer = null;
}
}, 1000)
}
//}
}).catch(error=>{
console.log(error);
})
我想判断当 返回400或者500的时候 输出相应的返回信息,请问大神们该怎么判断呀?
console.log(error);这个error返回的是这个:
而后台实际返回的是这个:
{
"timestamp": "2017-09-15T08:30:56Z",
"status": 400,
"error": "Bad Request",
"exception": "com.xinwenhd.common.utils.BadReqExcption",
"message": "Bad Request",
"path": "/internal/user/check_mobile_and_sent_code",
"errorMassage": "手机号已存在",
"errorCode": "MOBILE_EXIST"
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Handling Errors https://github.com/mzabriskie...
返回值 res 就是包含 status 的对象, 直接使用
if(res.status === 400)
就是了。error.response.status 就是了
常规的HTTP状态码本身有意义
根据问题并结合自身工作开发经验,我觉得题主可能需要一个封装过的返回结果,简单来说就是除了通信问题外的自定义错误情况(比如问题中的400 —— 手机号已存在)放在一个data字段中,然后包在200的http码中返回给到前端
类似于这种格式的返回结果,当然这只是一种思路。