对于vue中axios拦截器简单封装
axios.interceptors.response.use( response => { // 如果返回的状态码为200,说明接口请求成功,可以正常拿到数据 // 否则的话抛出错误 if (response.status === 200) { if (response.headers.x_auth_token) { localStorage.setItem('x_auth_token', response.headers.x_auth_token); // 存储token } } else { return Promise.reject(response); } }, error => { if (error.response.status) { switch (error.response.status) { // 401: 未登录 case 401: break; // 403: token过期 case 403: break; // 404:请求不存在 case 404: break; default: alert(error.response.data.message); } return Promise.reject(error.response); } }) axios 请求拦截器 axios.interceptors.request.use( config => { // 每次发送请求之前判断vuex中是否存在tocken // 如果存在,则统一在http请求的header都加上tocken,这样后台根据tocken判断你的登录情况 // 即使本地存在token,也有可能token是过期的,所以在响应拦截器中要对返回状态进行判断 const token = localStorage.getItem('x_auth_token'); token && (config.headers.x_auth_token = token); return config; }, error => { return Promise.error(error); } )
希望大佬看到有不对的地方,提出博主予以改正!