我写了一个ajax调用,但我的IE浏览器有问题,因为在Chrome中,ajaxFunction(1)
工作正常(我在浏览时在浏览器的网络部分获取200 OK
)。另一方面,使用IE执行相同操作的同一页面,函数返回304 error
。我尝试使用IE手动(call.php?which=1
),它正在工作。在这种情况下,我找不到问题是什么?
PS。我的代码是手工编写的。我想知道IE浏览器的问题是什么。哪些代码在浏览器中运行不同?
以下是一些代码:
function ajaxFunction(a)
{
var ajaxRequest;
try {
ajaxRequest = new XMLHttpRequest();
} catch (e) {
try {
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.open("GET","call.php?which="+a,true);
ajaxRequest.send();
}
除此之外,
/* in call.php after connection codes */
$came = $_GET['which'];
mysql_query("UPDATE ...");
更新
我使用的是IE 9.0(更新版本9.0.10)
我还将此代码添加到call.php
header("Cache-Control: no-cache, must-revalidate");
答案
使用缓存控制和缓存清理后,浏览器运行良好。
答案 0 :(得分:0)
我认为这些链接可以解决根本原因 - 以及可能的解决方案:
显然,IE“积极地缓存ajax请求”。以上链接可以帮助您解决问题。
PS:
哪个版本的IE遇到此问题?