1

私は ajax 呼び出しを書きましたが、IE Web ブラウザーに問題があります。これは、ChromeajaxFunction(1)が正常に動作しているためです (200 OKブラウザーの閲覧中にブラウザーのネットワーク セクションにアクセスします)。一方、IEを使用した同じアクションの同じページ、関数は を返します304 errorcall.php?which=1IE を使用して手動で ( ) 試してみましたが、動作しています。この場合、何が問題なのかわかりませんでしたか?

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 に答える