xmlhttp缓存清除的2种解决方法

时间:2021-05-25

方法一:加If-Modified-Since头
xmlhttp多次调用时它却总是显示缓存页面, 尝试在 php 或 asp 中加入相应的http头明确不要缓存, 也没什么效果!!

现在终于找到一个办法啦,就是在 xmlhttp.open 之后发送一个If-Modified-Since头即可, 代码如下
xmlhttp.setRequestHeader('If-Modified-Since', '0');
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.setRequestHeader('If-Modified-Since', '0');
xmlHttp.send(null);

方法二:请求URL后加变化参数

因为IE默认将相同的URL请求进行缓存,所以URL加上唯一区分的参数作为区分,保持每次请求的URL不同,即可绕过IE缓存的问题
js: URL = "http://host/a.php"+"?"+Math.random();
vbs: URL = "http://host/a.php"&"?"&Timer()

//var url = "ResponseContentPageScore.aspx?key=" + Math.round(Math.random() * 100) + "&HotelCD=" + inputContent;
var url = "ResponseContentPageScore.aspx?key=" + new Date().getTime() + "&HotelCD=" + inputContent;

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章