MVC 4 API 控制器未接收开机自检数据
MVC 4 APIController not receiving POST data
当然,这已经被处理了很多次了......但。。只是看不出我做错了什么!
这是一个简单的JS脚本,将数据发布回ApiController。
function WebCall(url,parameterObject, callBackFunction) {
this.callbackfunction = callBackFunction;
this.parameterObject = parameterObject;
this.url = url;
self = this;
this.GetData = function () {
//self = this;
$.ajax({
//dataType: "json",
type: "POST",
url: self.url,
data: JSON.stringify(self.parameterObject),
contentType: "application/json;charset=utf-8",
success: function (data) {
self.callbackfunction.call(this, data);
},//self.GotData,
error: function (xhRequest, ErrorText, thrownError)
{
alert("error : " + ErrorText)
},
complete: function () {},
})
}
}
正在发送的数据(参数对象)只是
var postData = {
clientId: id
}
控制器中的 c# 代码为:
public class ClientPostObject
{
public string clientId;
}
public class ClientDetailController : ApiController
{
[HttpPost]
public ClientDetailWidgetData GetClient(ClientPostObject clientObject)
{
return new ClientModel().GetClientDetail(clientObject.clientId);
}
}
在谷歌浏览器开发人员工具中,XHR将"表单数据"显示为clientId:A0001 - 所以看起来不错?
无论我尝试什么(我在网络上经历了许多建议),帖子数据都不存在。
当然它很简单....提前谢谢。
除非您计划在其他某个时间点使用完整的表单提交到此方法,否则当您只使用一个属性时,要求模型绑定程序尝试绑定到复杂类型实际上没有意义。将方法签名更改为:
[HttpPost]
public ClientDetailWidgetData GetClient(int clientId) // or whatever type clientId represents
{
return new ClientModel().GetClientDetail(clientId);
}
我还建议在某个时候(http://getglimpse.com/)添加 Glimpse,以便您可以看到应用程序的模型绑定和/或路由的工作原理。
尝试抛弃contentType
,不要stringify
data
:
$.ajax({
type: "POST",
url: self.url,
data: self.parameterObject,
success: function (data) {...},
...
});
相关文章:
- 开机自检无法正常工作,出现错误
- 类型错误:无法读取开机自检后未定义的属性“正文”(平均值)
- 在 AngularJS 和 CodeIgniter3 中开机自检数据时出现 CORS 错误
- html 开机自检数据未发送
- 快递.js开机自检空要求正文
- 取消选中通过开机自检 [] 中的回显选中的复选框
- 通过开机自检将 XML 发送到另一台服务器
- 控制器中的 MVC3 自动完成和开机自检方法
- 角度 UI 模式开机自检
- 控制器操作参数未从 AJAX 开机自检正确填充
- 王牌编辑器 - 通过开机自检在服务器上保存/发送会话
- ASP.NET Web API 2 - 如何开机自检
- 无法向服务器发送开机自检请求
- 默认$resource开机自检数据
- “location.reload()” 丢失了开机自检/会话数据?(F5 / Ctrl + R保留数据?
- 从服务器获取开机自检的数据不起作用
- 开机自检数据发送和更改 URL 相同
- 家长通过开机自检发送数据的弹出窗口
- MVC 4 API 控制器未接收开机自检数据
- 重定向丢失的开机自检/会话数据