即使使用mathrandom,IE8仍然会缓存我的请求

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


所以我在我的url末尾添加了数学随机数:

var MYKMLURL = 'http://' + host + 'data/pattern?key='+ Math.random(); 

我还在我的函数参数中添加了数学随机:

 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); } 

所以请求显示为http:// host / data / pattern?key = 35678652545等。

每次请求时它都会更改。

它适用于Firefox,Chrome和Safari等。但IE8仍在缓存数据,而不是更新我的图层。

关于为什么会出现这种情况的任何想法?


所以我补充说:

    

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

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

防止IE缓存

我有一个与IE类似的问题,它缓存了AJAX请求。 (为什么,上帝,为什么要缓存一个AJAX请求?)其他一切工作都很好,但是IE需要通过HTTP头强制转换才能缓存AJAX请求。

我早就忘记了这个url,但请看: http : //greenash.net.au/thoughts/2006/03/an-ie-ajax-gotcha-page-caching/

此外,为我做的HTTP标头是:

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

…老实说,我在某个地方收集了一个网站。