2009-06-11 25 views
4

jqueryとjsonについては、ちょっと新しいです。戻り値の型としてjsonを使用している場合でも、XMLHttpRequestオブジェクトからresponseTextを取得できますか?AJAX responseTextでjQueryとJSONを使用していますか?

json response: {"clients": []} 

$.ajax({ 
     type: "POST", 
     url: "/myurl/whatever.php", 
     data: myData, 
     dataType: "json", 

     success: function(msg){ 
      status.html(msg[0]); 
     }, 
     error: function(msg) { 
       status.html("Error: " + msg[0]); 
     } 

     }); 

iが出力にJSONレスポンスをしたいか、私は何かが欠けていた場合、[0]正しいMSGの使用である:

ここで私が使用しているコードですか?

どのように私はまだresponseText、ステータスを取得するためのXMLHttpRequestで上記のコードを使用することができ、など

おかげで、すべて!

答えて

1

jsonを使用している場合、XMLオブジェクトではなくjsonオブジェクトが戻されます。 [0]を使わずに直接出力することができます。

+1

応答コードはどうですか。 200、500などのXMLオブジェクトを使用するか、XMLオブジェクトに戻ってくるでしょうか? –

+0

jsonオブジェクトの場合、コールバック内からステータスにアクセスできるかどうかはわかりませんが、あなたができることは、他のフィールドと同様に、送信する前にjsonオブジェクトにステータスを追加することです。それから、json.statusを通して確認できます。 – cloudhead

6

私の知る限りでは、例えば、XHRオブジェクトを返し、それからresponseTextが抽出できるアヤックス$への呼び出し:

var xhr = $.ajax({ 
         url:' someInfo.php', 
         data: 'which=squirrels', 
         asynch: true 
       }); 

var resp = xhr.responseText; 

応答テキストは、JSON文字列が含まれます、でしょう任意の目的のオブジェクトに変換する必要があります。

success:関数内で直接jsonオブジェクトとして応答を使用する場合は、@cloudheadを指定してmsgを使用してください。あなたのoptionsのdataType: "json"が変換を担当します。

関連する問題