您的位置:首页 > 产品设计 > UI/UE

Vue——axios基本配置及请求拦截

2017-11-15 23:30 836 查看
// axios 配置
axios.defaults.timeout = 5000;
axios.defaults.baseURL = 'http://10.0.0.151:8888';

// http request 拦截器
axios.interceptors.request.use(
config => {
debugger
//对于/auth/**的请求路径,默认不添加token认证
if (config.url.indexOf("/auth") <0 && store.state.token) {
config.headers.Authorization = `Bearer ${store.state.token}`;
}
return config;
},
err => {
return Promise.reject(err);
});

// http response 拦截器
axios.interceptors.response.use(
response => {
return response;
},
error => {
if (error.response) {
switch (error.response.status) {
case 401:            /**token未授权或token授权失败,过期等等**/
// 401 清除token信息并跳转到登录页面
store.commit(types.LOGOUT);
routers.replace({
path: 'login',
query: {redirect: routers.currentRoute.fullPath}
});
break;
case 404:            /**未找到页面**/
// 404 跳转到404页面
routers.push({
path: 'notfound'
});
break;
}
}
// console.log(JSON.stringify(error));//console : Error: Request failed with status code 402
console.log(error);
return Promise.reject(error.response.data)
});

export default axios;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: