jquery - 在 ASP.Net Core 中发布 json 时,MVC 模型为 null

标签 jquery asp.net ajax asp.net-core asp.net-core-mvc

所有相关代码:

//JSON data
var dataType = 'application/json; charset=utf-8';
var data = {
    FirstName: 'Andrew',
    LastName: 'Lock',
    Age: 31
}

console.log('Submitting form...');
$.ajax({
    type: 'POST',
    url: '/Diary/Save',
    dataType: 'json',
    contentType: dataType,
    data: data,
    success: function (result) {
        console.log('Data received: ');
        console.log(result);
    }
});


[HttpPost]
public IActionResult Save([FromBody] Person person)
{
    return Json(person);
}



public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

Save方法中的“person”始终为null。这应该有效...感觉可能像是设置问题?我需要在这里进行更改吗:

 services.AddMvc(options =>
        {
        });

最佳答案

您需要对发送到服务器的数据进行字符串化以将其转换为 JSON,因为这是您指定的内容类型 header :

data: JSON.stringify(data)

关于jquery - 在 ASP.Net Core 中发布 json 时,MVC 模型为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42297519/

相关文章:

javascript - 如何使用 Ajax 将 .json 文件发布到 ArangoDB

.net - 安装 ASP.NET 应用程序的先决条件是什么?

c# - 用户登录成功后未通过身份验证

javascript - 如何防止搜索引擎索引 ajax 生成的内容

php - Ajax 请求卡住网页

jquery - 如何将 JavaScript 库包含到 Spring MVC 项目中(例如 jQuery 或 Dojo)

jquery - 获取表中所有tr的数据属性

javascript - 使用 JQuery 调用母版页 "CS"方法(ajax 不起作用)

c# - 是否有模拟 facebook 的 "Link Detect"的库?

ruby-on-rails - 是否可以在不使用 respond_to 方法和使用非常规文件名的情况下呈现 js.erb?