axios请求拦截器
axios请求拦截器,内部根据返回值,重新组装,统一管理。
axios
import axios from 'axios'
// 请求拦截器,内部根据返回值,重新组装,统一管理。
axios.interceptors.response.use(res => {
//如果结果返回的res.data不是对象
if (typeof res.data !== 'object') {
ElMessage.error('服务端异常!')
return Promise.reject(res) //正常return
}
//判断返回值状态 status
if (res.data.status != 1) {
if (res.data.message) ElMessage.error(res.data.message) //报错信息弹出
if (res.data.status == 419) {
router.push({ path: '/login' }) //登录过期状态
}
return Promise.reject(res.data) //正常return
}
return res.data //直接 return
})
使用
axios.post("/****", {
user_name: 'admin',
password: '123456',
})
.then((res) => {
//请求时先会读取上面的代码没问题后返回 res.data 的接口数据
console.log(res)
});
希望此文章能帮助到你