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时间内它将继续返回相同的缓存响应.
有什么想法正确解决这个问题是什么?我已经看到提到使用标题,但我不确定如何在这种情况下应用修复.