Asp.net core mvc ASP.NET核心文章到MVC

Asp.net core mvc ASP.NET核心文章到MVC,asp.net-core-mvc,Asp.net Core Mvc,我正在尝试从客户端向ASP.NET核心应用程序中的MVC控制器发出一个简单的POST请求。问题是,尽管我已经正确地设置了ajax调用(我认为),但负载始终以表单url编码的形式提交,并且我在服务器上的模型最终为空。以下是我的设置: 控制器操作定义: [HttpPost] 公共异步任务SendEmail([FromBody]EmailModel) { EmailResponse=新的EmailResponse(); ... 返回响应; }您的模型未序列化为json。对象被序列化为默认媒体类型-键

我正在尝试从客户端向ASP.NET核心应用程序中的MVC控制器发出一个简单的POST请求。问题是,尽管我已经正确地设置了ajax调用(我认为),但负载始终以表单url编码的形式提交,并且我在服务器上的模型最终为空。以下是我的设置:

控制器操作定义:

[HttpPost]
公共异步任务SendEmail([FromBody]EmailModel)
{
EmailResponse=新的EmailResponse();
...
返回响应;

}
您的模型未序列化为json。对象被序列化为默认媒体类型-键值对-即所谓的“application/x-www-form-encoded”

尝试强制使用JSON

$.ajax({
  type: "POST",
  url: "/Home/SendEmail",
  contentType: 'application/json; charset=utf-8',
  data: JSON.stringify(model) //notice the JSON.stringify call
}).done(function (result) {
    ...
}).error(function(error) {
    ...
});

好的,我们越来越近了。现在模型成功了,但所有属性都为空。我想我必须检查字段的定义。我在每个字段上都设置了JsonProperty,但可能缺少一些内容。我更新了我的问题,包括模型的定义谢谢。AFAIK您可以删除JsonProperty属性,因为asp.net核心与camelCase开箱即用命名兼容。