11

ajax Web アプリケーションを作成していますが、なんらかの理由で Internet Explorer 9 (IE9) の内部データ サービスに対して GET を実行すると機能しません。この同じ呼び出しは、Chrome、Firefox、および Safari でも問題なく機能します。私は、ヒットしようとしているデータ サービスと同じネットワーク上で、開発と開発に localhost Web サーバー (wamp) を使用しています。私は Jquery 1.8.1 を使用しています (いくつかのバージョンに戻りましたが、まだ問題が発生しています)。私のコードは次のようになります。

$(document).ready(function() {

                    var loginUrl = "http://omittedurl.com";
                    console.log(loginUrl);
                    $.ajax({
                        type : "GET",
                        url : loginUrl,
                        dataType : "json",
                        success : function(response) {
                            console.log("RESPONSE: " + response);

                        }
                    });
            });

前に述べたように、このコードは Chrome と Firefox で正常に動作します。IE9 で Web デバッガーを見ると、ログにエラーはありません。IE9 が .ajax チャンクを完全に無視しているようです。私が試したこと:

  • Ajax キャッシュをオフにする
  • URL エンコードされたリクエスト URL
  • Jquery の 3 つの古いバージョンに戻りました
  • IE9 から URL を手動で ping しました (応答を取得できます)

何か案は??

4

1 に答える 1

26

問題があるように見えます

console.log()

開発者ツールが開いていない場合、IE にはコンソール オブジェクトがありません。console.log にコメントを付けてコードを実行し、もう一度試してください。

$(document).ready(function () {

    var loginUrl = "http://omittedurl.com";
    //console.log(loginUrl);
    $.ajax({
        type: "GET",
        url: loginUrl,
        dataType: "json",
        success: function (response) {
           // console.log("RESPONSE: " + response);
           alert("RESPONSE: " + response)
        }
    });
});

console を使用する場合、Developer tool が開いていない場合は、まずそれを定義する必要があります。

if (typeof console === "undefined" || typeof console.log === "undefined") {
     console = {};
于 2012-09-25T23:10:15.343 に答える