axios拦截器判断401 / 全局给header添加token
https://www.cnblogs.com/guoxianglei/p/7084506.html
axios.interceptors.request.use(function (config) { // 这里的config包含每次请求的内容
let token = getToken()
if (token) {
config.headers.Authorization = 'JWT '+ `${token}`;
}else {
window.location.pathname = '/login'
}
return config;
}, function (err) {
return Promise.reject(err);
})
//拦截器
axios.interceptors.response.use(
response => {
return response
},
error => {
if (error.response) {
switch (error.response.status) {
case 401:
// 返回 401 清除token信息并跳转到登录页面
confirm('过期')
router.replace({
path: '/login'
})
location.reload()
}
}
return Promise.reject(error.response.data) // 返回接口返回的错误信息
})