vue添加拦截器
//添加请求拦截器
axios.interceptors.request.use(function (config) {
//在发送请求之前需要做的事情
//这个项目需要的是在发送请求之前给每一个都加上 token
const obj = JSON.parse(window.localStorage.getItem('userInfo')) //userInof -- 保存在token中key名
if (obj) {
config.headers.Authorization = `Bearer ${obj.token}`
}
//一定要return 这样才会继续发送这个请求
//不 return 就不发
return config;
},function(error){
return Promise.reject(error);
})```
vue添加响应拦截
//添加响应拦截器
axios.interceptors.response.use(function (response) {
// 对响应数据做点什么
return response;
}, function (error) {
// 对响应错误做点什么
if(error.response.status == 401){
//打回登录页
Vue.prototype.$message.error('请先登录!');
router.push('/login')
}
return Promise.reject(error);
});
直接在路由中可以自动使用