【发布时间】:2012-06-24 21:29:15
【问题描述】:
我在 ASP.NET MVC 4 RC Web API 中遇到了我认为是奇怪的绑定问题。我有一种方法旨在接受来自客户端的发布请求。问题是调用 post 方法时没有任何参数绑定,我在 throw 行和名称上到达断点,email 都是空的。如果我在 JavaScript 中将请求的类型更改为 GET,则调用下面的 Get 函数并绑定参数。
为什么 Post 方法的参数绑定失败,如何解决?
send: function(evt) {
evt.preventDefault();
$.ajax( {
url: '/api/person',
data: this.model.toJSON(),
type: "POST",
dataType: "json",
success: function(data) {
console.log("Success");
},
error: function(data) {
console.log("Error");
}
});
}
以下是控制器动作:
public void Get(string name, string email) {
throw new NotImplementedException();
}
public void Post(string name, string email) {
throw new NotImplementedException();
}
注意事项:
- 我正在使用 ASP.NET MVC 4 RC Web API 的所有默认值(所以反序列化器应该是 Json.NET)
- JS 调试器上的 Chrome 网络选项卡正确显示 post 表单数据中的参数。
【问题讨论】:
标签: c# .net asp.net-mvc-4 asp.net-web-api