IE浏览器第一次发请求没有问题,再发送请求时,当参数一样时,浏览器会直接使用缓存数据. 导致页面 还是原来的页面

所以在axios 请求头 添加时间戳

const service = axios.create({
  // api的base_url
  baseURL: process.env.BASE_API
  // timeout: 30000 // request timeout
})
// request拦截器
service.interceptors.request.use(config => {
  // Do something before request is sent
  if (!localStorage.getItem('accessToken')) {
    config.headers.Authorization = 'Basic dnVlOnZ1ZQ=='
  } else {
    config.headers.Authorization = 'Bearer ' + localStorage.getItem('accessToken')
  }
  if (config.headers.Authorization === 'Basic dnVlOnZ1ZQ==' && window.location.hash !== '#/') {
    if (window.location.hash !== '#/retrievePassword') {
      Message.error('凭证过期,请重新登录!')
      router.replace('/')
      location.reload()
    }
  }
  // 时间戳
  if (config.method === 'post') {
    config.data = {
      ...config.data,
      t: Date.parse(new Date()) / 1000
    }
  } else if (config.method === 'get') {
    config.params = {
      t: Date.parse(new Date()) / 1000,
      ...config.params
    }
  }
  return config
}, error => {
  // Do something with request error
  // console.log('request拦截器1', error) // for debug
  Promise.reject(error)
})
Logo

前往低代码交流专区

更多推荐