axios 捕获 http 错误状态码

今日某熊抽风,又特么要改动接口,没办法只好配合,在修改登录接口的时候遇到了捕获后端返回的 http 状态码问题,然后记录一下

一个标准的 axiospost请求

axios.post(url, param).then(res => {
    // 一般都要根据后端返回的状态码进行后面的逻辑操作
    if (res.data.data.statue_code === 200) {
        // 执行成功之后的操作
    }
})

然而都知道在成功状态下才可以进入 then,并获取到 res, 所以我认为在 axios的 then 中并不在需要进行状态码判断,直接执行成功回调即可

但是如果想要捕获错误的 http 状态码的话,就要到捕获错误的catch里面去进行判断了,因为自己平时在项目中并没有很在意 catch 里面的东西,基本上也就是将 err打印出来也就完了,所以这次就遇到了这个小问题

假如你要根据错误的 http 状态码对错误状态进行处理,可以这样做

axios.post(url, param).then(res => {
    // 执行成功之后的操作
}).catch(error => {
    // 状态码按照后短同学的格式来写,下面只是🌰
    // 如果只是要根据状态码将错误信息打印出来
    alert(error.response.data.message)
    return false
    // 如果要根据错误信息进行相关操作可以这样
    if (error.response.data.status_code === 状态码) {
        // 错误信息处理
    }

})