【发布时间】:2016-02-16 15:06:29
【问题描述】:
我正在尝试从 jQuery 发布到我的 ASP.NET Core (RC1) API。当我通过 HttpClient 发布时它工作正常,所以我认为这只是我错过的一件愚蠢的事情。
我可以在 vanilla 默认 ASP.NET 5 项目和此代码上重现我的问题。
服务器
namespace WebApplication1.Controllers
{
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpPost]
public IActionResult Post([FromBody]Model input)
{
// input is always null
return Json(input.Value);
}
public class Model
{
public string Value { get; set; }
}
}
}
客户
$.ajax({
url: "http://localhost:5000/api/values",
method: "POST",
contentType: "application/json",
dataType: "json",
data: JSON.stringify({
Value: "some_value"
})
}).done(function(data) {
console.log("Done.", data);
});
我通过删除[FromBody] 进行了尝试,它返回了一个模型,但从未填充过属性。对于 SO 上的类似问题,我还尝试了许多解决方案和解决方法,但我认为它们不适用于 .NET Core 或仅解决使用[FromBody] 和简单类型的问题。例如Web Api Parameter always null 或using jQuery post to ASP.Net webapi 或http://encosia.com/using-jquery-to-post-frombody-parameters-to-web-api/
【问题讨论】:
标签: asp.net-core