我正在使用 Knockout.js 和 ASP.NET Web ApiController 完成一个新项目。我看到的许多示例在将数据发布到服务器之前执行了一些手动 JSON 序列化。此外,请求内容类型同样经常设置为“application/json”。
我想知道为什么这是必要的。我假设有一些我还没有遇到过的东西,这使得这要么是必需的,要么至少是可取的。
目前,使用这些 jQuery ajax 选项向服务器发送我想要的任何数据都没有问题:
cache: false,
traditional: true,
type: 'POST',
这是 POST 并绑定到 ApiController 操作方法的示例 JS 对象和相应的服务器端 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){
...
我错过了什么?