首页 > 技术文章 > vue axios 全局设置token,重新登录之后token不更新的问题

bigsister 2019-05-23 12:08 原文

import Vue from 'vue';
import axios from 'axios';
import { getStore } from '/utils/storage.js';
axios.defaults.baseURL = '********'; axios.defaults.timeout = 10000; axios.defaults.headers.post['Content-Type'] = 'application/x-www=form-urlencoded';
// 设置token (缓存中token更新后,此处不更新)
axios.defaults.headers.common['Authorization'] = getStore("userInfo")!=null && getStore("userInfo") != "" ? 'Bearer '+JSON.parse(getStore("userInfo")).token : ""; axios.interceptors.request.use(config => {
  return config },error => {
  return Promise.reject(error) })

axios.defaults.headers.common 设置token,重新登录之后,缓存中的token更新,此处不会执行更新,

在请求拦截器中 设置token,此时会更新token

axios.interceptors.request.use(config => {
  config.headers.Authorization = getStore("userInfo")!=null && getStore("userInfo") != "" ? 'Bearer '+JSON.parse(getStore("userInfo")).token : "";return config
}, error => {
  return Promise.reject(error) })

 

 axios文档说明

 

推荐阅读