2011-10-19 15 views
0

私は以下のajaxコールをjavascriptで持っています。この呼び出しが正しく実行され、サーバー上で適切なアクションが実行され、サーバーはステータス200と、値が"OK"の文字列名resultaaDataというタプルの配列を含むJSONオブジェクトを返します。この返されたデータは、Chromeで結果を確認することで確認できます。jQuery AJAX呼び出しから返されたJSONの使い方は?

私の問題は、alert("Hello")が期待どおりに実行され、alert(response)が "オブジェクト"を表示していることです(私が期待したように)。 alert(response["result"]は "未定義"を表示します。 responseはすでにjavascriptオブジェクトに解析されているので、私はそれを使用できるはずです。私が間違っている?オブジェクトに何かする必要があるのですか?あるいは、私はその要素を間違って扱っています。

$.ajax({type:  "PUT", 
    url:   "/fund/${fund.name}/contacts", 
    data:  payload, 
    contentType: "application/json", 
    processData: false, 
    cache:  false, 
    dataType: "application/json", 
    complete: function(response) { 
      alert("Hello"); 
      alert(response); 
      alert(response["result"]); 
       if (response["result"] != "OK") 
      { 
       alert(response["result"]) 
      } 
      else 
      { 
       $("#fund-contacts").dataTable({"aaData": response["aaData"]}) 
      } 
      $("#fund-contact-entry").dialog("close"); 
      alert("Hello"); 
       } 
    } 
); 
+2

上に述べてい 'データ型を関数は二つの引数を渡されます'は' application/json'ではなく 'json'でなければなりません。 – hobbs

答えて

1

代わりcompletesuccessコールバックを使用してください。

manualから成功(データ、textStatus、jqXHR)

要求が成功した場合に呼び出される関数。この関数は3つの引数を渡します。サーバから返されたデータで、dataTypeパラメータに従ってフォーマットされます。ステータスを表す文字列。 (jQueryの1.4.xの、XMLHttpRequestの中)とjqXHRオブジェクト

(成功とエラーコールバックが実行された後)(jqXHR、textStatus)

要求が終了呼び出される関数の完全な。 jqXHR(jQueryの1.4.xのでは、XMLHTTPRequestを)オブジェクトとリクエスト

編集の状態を分類する文字列:また、どのような@hobbsする

+0

Philとhobbsに感謝します。どちらの変更も必要でした(完了はAJAXリクエストからデータを受け取りません)。 –

関連する問題