Microsoft Edge缓存Ajax请求?

use*_*034 2 javascript ajax microsoft-edge

所以我有一个用于在网站上加载内容的ajax系统,它的工作原理如下:

单击按钮时,将调用Javascript函数:

onclick="doSomething('abc')"
Run Code Online (Sandbox Code Playgroud)

我的Javascript看起来像这样:

//Ajax
var xmlhttp;
function loadXMLDoc(url,cfunc) {
    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=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}
function doSomething(var) {
    loadXMLDoc("http://www.website.com/ajax/doSomething.php?var="+var, function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById("response-container").innerHTML=xmlhttp.responseText;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

PHP文件只调用echo的文本,如下所示:

echo "Response here";
Run Code Online (Sandbox Code Playgroud)

通常,每次运行此Javascript函数时,我都会使用此类型的系统在具有特定id的元素中加载新内容.

这已经完美地工作了3年多,但由于某种原因,Microsoft Edge正在缓解这一点的反应.因此内容根本没有正确生成.所以你运行一次,并且在x时间内它将继续返回相同的缓存响应.

有什么想法正确解决这个问题是什么?我已经看到提到使用标题,但我不确定如何在这种情况下应用修复.

RWA*_*WAM 7

我们在Edge和IE 10/11上缓存了ajax请求也遇到了问题.我们的解决方案是使用HTTP-header Cache-Control: no-cache这也没有时间戳.