{ debugger //对于/au" />
入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2017-11-15 投稿人: 浏览次数:853
// 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;
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像