vue前端http拦截(后端接口返回401前端返回登录页面)

// response interceptor(接收拦截器)
axios.interceptors.response.use(function (response) {
    return response;
}, error => {
    let response = error.response;
    const status = response.status;
    if (status === 401) {
        // 判断状态码是401 跳转到登录
        route.replace({ path: "/login" });
    }
    return {
        data: {
            data: '',
            error: "请重新登录"
        }
    };
});

这里原先使用main.js配置的

this.$router.replace({ path: "/login" });

这样是没有用的,需要引入route文件

import route from '../router/index'

这样就可以正常拦截掉请求结果如果出现401就返回登录页面。

 

 
posted @ 2021-08-19 14:44  Dark华  阅读(5663)  评论(0编辑  收藏  举报