2012-04-05 23 views
1

jQueryを使用してサーバーからJSONオブジェクトを取得しようとしました。このオブジェクトの一部のプロパティは配列です。これらの配列が空でない場合、オブジェクトを処理できます。しかし、私はこの1つのようなJSONを取得する場合:jQueryを使用して特定のJSONオブジェクトを取得できません

「メーター」と「スキャン」は空である、jQueryのエラーが発生します...私はこのコードで私のサーバーを照会
{"Id":144,"Identifier":"4000011","ContractId":115,"ContractName":"Test4","Meters":[],"Scans":[]} 

$("#test").click(function() { 

     $.ajax({ 
      type: "GET", 
      url: "/Gateway/GetDetails/144", 
      data: {}, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (data, textStatus, jqXHR) { 

       ... 

      }, 
      error: function (jqXHR, textStatus, errorThrown) { 
       ... 
      } 
    }); 

エラーハンドラでは、パラメータ "jqXHR"のresponseTextプロパティでJSONオブジェクトを確認できます。あなたはこの問題に遭遇しましたか?

ありがとうございます!

+0

エラーは何ですか? – wgcrouch

+0

私は知らない:(私はサーバー側のエラーを取得しません。クライアントでは、エラーハンドラで、パラメータ "errorThrown"は空の文字列であり、textStatusの値は "error"です。 .. – schglurps

答えて

0

私は自分の質問に答えます...まずはInternet Explorer 9でのみテストしました。他のブラウザでは、すべて期待どおりに動作しました。 Internet Explorerのキャッシュをクリアした後、問題は消えました。

1

ご提供いただいたJSONは有効です(JSON Lintツールで確認済み)。照会しているサーバーがHTTPエラーステータスコードを返しているか、サーバー側で内部エラーが発生している可能性があります。これは、FirebugChrome Developer toolsのようなデバッグプロキシを使用して確認できます。

+0

いいえ、私はサーバー側のエラーを取得しません、Fiddlerは、HTTP応答コードは200です。だから私はエラーがjQueryに関連していると思うが、私はそれを証明する方法を知らない... – schglurps

関連する問題