我对IE 11中的AJAX有一个问题。我的页面是使用以下代码通过AJAX从服务器中询问sone值:
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function ()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
doSomeThing();
}
}
xmlhttp.open("GET", "theURL", true);
xmlhttp.send();在Chrome和Firefox中,它工作得很好,但是IE似乎缓存了AJAX响应,我得到了相同的结果,即使服务器上的页面发生了变化。
有办法禁用缓存吗?
发布于 2015-06-17 09:43:23
向url添加一个随机参数,例如时间戳:
var url="//yoururl.com/";
url+="?"+new Date().getTime();发布于 2016-03-04 15:29:31
这让我快疯了。我尝试了许多破坏缓存的技术和设置缓存头。其中有许多要么行不通,要么是大雁追逐。我找到的唯一能够正确工作的解决方案是设置:
Header Pragma:无缓存
我希望它能拯救其他人的IE头痛。
顺便说一句,这是StackOverflow线程,它很好地说明了Pragma和Cache-control:Difference between Pragma and Cache-control headers?之间的区别。
https://stackoverflow.com/questions/30887767
复制相似问题