axios token验证拦截器

Posted model-zachary

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios token验证拦截器相关的知识,希望对你有一定的参考价值。

import axios from axios;
// req拦截
axios.interceptors.request.use(
  let token = localStorage.getItem(token)
    config => {
        if (token === null) {  // 判断是否存在token,如果存在的话,则每个http header都加上token
            config.headers.Authorization = `${token}`;
        }
        return config;
    },
    err => {
        return Promise.reject(err);
    });

// res拦截
axios.interceptors.response.use(
    response => {
        return response;
    },
    error => {
        if (error.response.code === 401) {
            // 返回 401 跳转到登录页面
            router.replace({
                path: login,
                query: {redirect: router.currentRoute.fullPath}
            })
        }
        return Promise.reject(error.response.msg)   // 返回接口返回的错误信息
    });

PS: 建议把拦截器独立到一个js文件,然后在引入。详细了解请点击

以上是关于axios token验证拦截器的主要内容,如果未能解决你的问题,请参考以下文章

vue+axios拦截器和webapi中读取的实现

vue下axios拦截器token刷新机制

vue2-封装axios请求并设置请求拦截器

vue2-封装axios请求并设置请求拦截器

axios拦截器搭配token使用

全局axios默认值 和 自定义实例默认值