2012-03-22 5 views
1

私はコントローラからjson文字列を取得しようとしています。これはjqGrid列のプレフィル値です。本当にシンプルな(?)jquery/jsonミス?構文エラーと出力のためのアドバイス

$("#dagbok_grid").setColProp("Kalla", { editoptions: { value: 

     $.getJSON('@Url.Action("GetKalla", "Dagbok")', { }, function (data) { 
      alert("sdf"); 
      //What to do here, to get the json string here? 
     }); 

    } }); 

私は2つの問題があります。私はそれらが接続されていると思われます。上記のjavascriptで構文エラーが発生しています。また、コントローラーアクションから返されるデータを出力するにはどうしたらいいですか?

答えて

6

AJAXは非同期です。それは頭字語の最初のAが何を意味するのかです。 $.getJSONメソッドは、あなたの考えを返しません。このメソッドはAJAXリクエストをトリガし、すぐに戻ります。このリクエストの結果は成功コールバックの後半で利用可能になります。だから、あなたがしたように$.getJSONに単にvalueプロパティを割り当てることはできません。

あなたは最初の成功コールバック内setColPropメソッドを呼び出し、その後AJAX要求を送信してください。

$.getJSON('@Url.Action("GetKalla", "Dagbok")', { }, function (data) { 
    // The AJAX call succeeded, the data parameter will contain the JSON 
    // object returned by your controller action. You can now assign it to 
    // the value 
    $('#dagbok_grid').setColProp('Kalla', { 
     editoptions: { 
      value: data 
     } 
    }); 
}); 
+0

あなたは絶対的に正しいです、私は自分自身のことに気づいているはずです。私はsetColPropに文字列を渡すのではなく、逆にしていました! – kaze

関連する問題