Javascript 即使使用mathrandom,IE8仍在缓存我的请求

Javascript 即使使用mathrandom,IE8仍在缓存我的请求,javascript,jquery,internet-explorer,caching,openlayers,Javascript,Jquery,Internet Explorer,Caching,Openlayers,TLDR即使URL中包含Math.random(),IE仍在缓存我的请求 因此,我在url的末尾添加了math random: var MYKMLURL = 'http://' + host + 'data/pattern?key='+ Math.random(); 我还将math random添加到函数param中: window.setTimeout(RefreshPatternData, 1000, MYKMLLAYER); function RefreshP

TLDR即使URL中包含Math.random(),IE仍在缓存我的请求


因此,我在url的末尾添加了math random:

var MYKMLURL = 'http://' + host + 'data/pattern?key='+ Math.random();
我还将math random添加到函数param中:

window.setTimeout(RefreshPatternData, 1000, MYKMLLAYER);


           function RefreshPatternData(layer) {
               layer.loaded = false;
               layer.setVisibility(true);
               layer.refresh({ force: true, params: { 'key': Math.random()} });
               setTimeout(RefreshPatternData, 30000, MYKMLLAYER);
           }
因此请求显示为etc

每次提出请求时,它都会更改

它适用于Firefox、Chrome和Safari等浏览器,但IE8仍在缓存数据,不更新我的图层

你知道为什么会发生这种情况吗


所以我补充说:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">


仍然在缓存数据。还有什么想法吗?

你可以试试这篇文章的答案:


我在IE和it缓存AJAX请求方面也遇到了类似的问题。(天哪,为什么要缓存AJAX请求?)在其他方面都很好,但IE需要通过HTTP头强制不缓存AJAX请求

我早就忘了URL,但请看:

另外,为我做这件事的HTTP头是:

Pragma: no-cache
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0

…这是我从某个网站上诚实地收集到的。

哦,我以前见过这个。IE在缓存方面是死气沉沉的,它会缓存所有可见的东西,即使服务器不这么说。它需要几个神奇的HTTP头来说服它,否则…我也有同样的问题。meta标签在IE8中不起作用。我只能使用F12开发者工具中的一个选项在客户端禁用缓存。我在上进行了搜索,因此没有找到该问题,谢谢链接:)