【发布时间】:2018-08-16 22:16:51
【问题描述】:
我想更好地了解 Net 中的 WebApi 以及如何使用 ajax 调用它的正确方法。关于我的开发环境的信息很少:我正在使用 .net 4.0 和 Visual Studio 2010 和 Jquery。
型号:
public class TestForm
{
public string FirstName { get; set; }
}
WebApi:
public class TestpController : ApiController
{
[HttpPost]
public HttpResponseMessage Post(TestForm form)
{
string jose = "jose";
return Request.CreateResponse(HttpStatusCode.OK, "yay");
}
}
客户端:
V1 (不起作用,返回错误 405):
$.ajax({
url: "http://xxx/api/Testp",
type: "POST",
data: JSON.stringify({ FirstName: "Jose" }),
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(data) {
console.log("success");
},
error: function (xhr, errorType, exception) {
console.log("error");
}
});
V2 (有效):
$.ajax({
url: "http://xxx/api/Testp",
type: "POST",
data: { FirstName: "Jose" },
dataType: 'json',
success: function(data) {
console.log("success");
},
error: function (xhr, errorType, exception) {
console.log("error");
}
});
为什么我在添加contentType: "application/json; charset=utf-8" 并将数据更改为JSON.stringify({ FirstName: "Jose" }) 时出现错误,但是当我删除内容类型并在数据选项中发送对象时它可以工作。
【问题讨论】:
标签: c# ajax visual-studio-2010 asp.net-web-api .net-4.0