vue ie浏览器 页面缓存 不请求接口
Posted 早饭君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue ie浏览器 页面缓存 不请求接口相关的知识,希望对你有一定的参考价值。
在做招行银行项目中,客户经常碰到bug,修改完数据,页面没有更改刷新也不行,只能从新登陆才能更新数据,后来排查下原因原来是客户使用IE浏览器
IE浏览器第一次发请求没有问题,再发送请求时,当参数一样时,浏览器会直接使用缓存数据. 导致页面 还是原来的页面
所以解决方案在axios 请求头 添加时间戳,让每一次请求接口都不让从缓存获取
// request拦截器
service.interceptors.request.use(
config => {
if (config.params) {
config.params.token = getToken()
} else {
config.params = {}
config.params.token = getToken()
}
config.headers[\'Content-Type\'] = config.ContentType ? config.ContentType : \'application/json\'
// 时间戳,针对ie浏览器请求一次,不请求获取缓存的bug
if (config.method === \'post\' || config.method === \'put\') {
config.data = {
...config.data,
t: Date.parse(new Date()) / 1000
}
} else {
config.params = {
t: Date.parse(new Date()) / 1000,
...config.params
}
}
return config
},
error => {
return Promise.reject(error)
}
)
以上是关于vue ie浏览器 页面缓存 不请求接口的主要内容,如果未能解决你的问题,请参考以下文章
IE浏览器下使用AJAX登陆接口请求缓存与登陆不了的问题解决
vue axios 跨域请求在ie浏览器 报错 Access-Control-Allow-Headers 列表中不存在请求标头 authorization.