在vue项目中开发,遇到ie请求数据缓存问题,就是当你数据修改的情况下,在次进行数据请求的时候会发生,数据缓存不会去请求服务器数据,一脸懵b。经过多方的求证,终于得到一个最正确的解决方案。
get获取数据,因发送参数和地址都一致,导致IE浏览器会从缓存中取,而不会去请求服务器端,而post方式因为参数的不同,则不会产生这个问题。为了不受缓存影响,可以这样做:
1.IE访问策略:
Internet选项--浏览历史记录--设置-- Internet 临时文件的选项改为每次访问网页时也可以(但是用户是小白,不可能去设置这个吧,不考虑)
2
请求固定一个参数,参数值随机变化
在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数,
get (url, params) {
var data = params || {};
data['sendIeTime']= new Date().getTime()
axios.defaults.headers.common['token'] = getToken('token') || ''
return axios.get(url,{params:data})
.then(function(response){
return checkStatus(response);
})
.then( res =>{
return checkCode(res);
})
.catch(function(err){
console.log(err);
});
},