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) // 返回接口返回的錯誤信息
  });
login.vue
localStorage.setItem('token', "Bearer " + res.data.data.Token)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM