axios捕获401 赋值token

Posted Mahmud

tags:

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

//捕获401
// http request 拦截器 
axios.interceptors.request.use(
  config => {
    const token = localStorage.getItem(\'token\')
    if (token) { // 判断是否存在token,如果存在的话,则每个http header都加上token
      // console.log(token)
      config.headers.Authorization = 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:
          // 返回 401 清除token信息并跳转到登录页面
          router.replace({
            path: \'/login\',
            query: {
              redirect: router.currentRoute.fullPath
            }
          })
      }
    }
    return Promise.reject(error.response.data) // 返回接口返回的错误信息
  });
View Code

 

 

login.vue
localStorage.setItem(\'token\', "Bearer " + res.data.data.Token)
View Code

 

 

 

 

参考文章:https://www.cnblogs.com/WNpursue/p/11194196.html

以上是关于axios捕获401 赋值token的主要内容,如果未能解决你的问题,请参考以下文章

执行带有axios的GET请求时出现401错误

在 Vue.js 中捕获和重定向 JWT 令牌过期,而不阻塞 Vue 3 中的其他 401 错误

反应 axios 补丁请求给出 401 错误但提供了授权

如何使用 axios 检测 401 并停止控制台错误

Laravel sanctum 获得 401 未授权

ReactJS MeteorJS Axios // 401 [未经授权] 错误