关于IE浏览器get请求被缓存的解决方案

623 阅读1分钟

在请求参数中添加随机数

在ie浏览器中,如果ajax请求方式为get,并且第一次请求参数和第二次请求参数相同时,ie会缓存该请求,返回相同数据。解决方法:

request.interceptors.request.use(config => {
  const token = storage.get(ACCESS_TOKEN)
  // 如果 token 存在
  // 让每个请求携带自定义 token 请根据实际情况自行修改
  if (token) {
    config.headers['token'] = token
  }
  // 解决ie浏览器中get请求被缓存的问题
  if (config.method === 'get') {
    config.params = {
      t: new Date().getTime(),
      ...config.params
    }
  }
  return config
}, errorHandler)

vue项目中使用axios请求拦截器在get请求的参数中拼接时间戳作为随机参数。