Knockout.jsとASP.NETWebApiControllerを使用して新しいプロジェクトに取り組んでいます。私が見ている例の多くは、データをサーバーに投稿する前に、手動でJSONシリアル化を実行しています。さらに、リクエストのコンテンツタイプも同様に「application/json」に設定されることがよくあります。
なぜこれが必要なのか疑問に思います。私は、これを必要とするか、少なくとも望ましいものにする、まだ遭遇していない何かがあると思います。
現在、これらのjQueryajaxオプションを使用してサーバーに必要なデータを送信することに問題はありません。
cache: false,
traditional: true,
type: 'POST',
これは、サンプルのJSオブジェクトと、ApiControllerアクションメソッドにPOSTしてバインドする対応するサーバー側のC#モデルオブジェクトです。
//JS object
var requestDataObject = {
accountId: vm.accountId,
range: [1, "a'b\"c", 3],
start: new Date(2012, 12, 12)
};
//C# model object
public class RequestData
{
public int AccountId { get; set; }
public string[] Range { get; set; }
public DateTime Start { get; set; }
}
//Action method signature
[HttpPost]
public HttpResponseMessage GetAccountUsage(RequestData requestData){
...
私は何が欠けていますか?