2012-09-25 33 views
10

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

$(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が
  • はjqueryのの3つの古いバージョンに戻った
  • 手動でIE9から私のURLをpingを実行私の要求のURLをエンコード(応答を取得することができ)

任意のアイデア??

+0

これはクロスドメインリクエストですか? –

+0

最新のjQueryリリース1.8.2を使用しているときにそれは簡単ですか? – Nope

+1

IEでF12キーを押し、[ネットワーク]タブに移動します。ページをロードして、リクエストが何をしているのかを確認します。 – Gromer

答えて

26

ルックの開発ツールが開いていないときにIEが全くコンソールオブジェクトを持っていない

にconsole.log()

との問題のような...あなたは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) 
     } 
    }); 
}); 

コンソールを使用する場合は、開発ツールのが開いていない場合は、最初のを定義する必要があります。..

if (typeof console === "undefined" || typeof console.log === "undefined") { 
    console = {}; 
+0

私は 'console.log'を全く見ていませんでした。これはIEで問題を引き起こします。いいキャッチ! – Gromer

+2

@Gromerは見ている:http://paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/ – moonwave99

+0

@ moonwave99、ええ、私は前にカップルラッパーを使用しました。残念なことに、私は現在のギグではあまりjavascriptをやっていないので、無作為な 'console.log'は私をあまりにも傷つけません。私はそのリンクをブックマークしています。 – Gromer

関連する問題