我可以致电Event.observe(window, 'load', init);
但是当我尝试使用WebAPI
到JSON
API方法发布Ajax
数据时,我得到了POST
个值。我在这里做错了什么?
WebAPI
的代码
MyData class
public class MyData
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
来电的代码
Ajax
答案 0 :(得分:2)
jQuery.ajax()
方法不知道名为" ContentType"的属性。使用标题C.切换到contentType
总而言之,它应该是这样的:
//With or without value property
var _data = JSON.stringify({ FirstName: "ABC", LastName: "XYZ" });
$.ajax({
url: "http://localhost:57786/api/values",
type: "POST",
contentType: "application/json", //lower case 'c'!
data: _data,
success: function (data) {
alert("Success");
},
error: function (error) {
alert("Error");
}
});
如果您想收到错误,如果您的模型无效,则需要在您的控制器中执行此操作:
public HttpResponseMessage Post([FromBody]MyData value)
{
if(value.FirstName != null && value.LastName != null)
{
return Request.CreateResponse(HttpStatusCode.OK);
}
return Request.CreateResponse(HttpStatusCode.BadRequest, "Something went wrong");
}
现在,如果您将无效的json发布到模型绑定器,您将收到错误请求错误消息。