1

我写了一个 ajax 调用,但我的 IE 网络浏览器有问题,因为在 Chrome 中,ajaxFunction(1)它工作正常(它200 OK在我浏览时进入我浏览器的网络部分)。另一方面,使用 IE 具有相同操作的同一页面,函数返回304 error。我尝试call.php?which=1使用 IE 手动(),它正在工作。在这种情况下我找不到什么问题?

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

回答

使用浏览器的缓存控制和缓存清理后效果很好。

4

1 回答 1

1

我相信这些链接解决了根本原因和可能的解决方案:

显然,IE“积极缓存 ajax 请求”。上面的链接应该可以帮助您解决问题。

PS:

哪个版本的 IE 遇到这个问题?

于 2012-11-01T04:25:03.997 回答