gpt4 book ai didi

c# - 将 JSON 对象传递给 MVC

转载 作者:行者123 更新时间:2023-11-30 20:40:00 25 4
gpt4 key购买 nike

我有一个简单的问题,需要很长时间才能弄清楚。我似乎无法从 JS 获取数据到 MVC。

JS:

           var stuff = [{a: 1, b: "Low"}, {a: 5, b:"High"}];
$.ajax({
url: '@Url.Action("Action")',
type: 'POST',
data: JSON.stringify({ stuff: stuff }),
traditional: true
});

MVC

         public enum Level
{
High = 10,
Normal = 5,
Low = 1
}
...
public class MyModel
{
public int a { get; set; }
public Level b { get; set; }
}
...
public ActionResult Action(List<MyModel> stuff){
//stuff is always null no matte what I try?
....
}

我不确定我的问题到底出在哪里,因为这很难调试。

最佳答案

在您的 ajax 调用中指定 contentType 属性,它应该可以正常工作。

当使用 $.ajax 向服务器发送数据时,默认的 contentType 值为 "application/x-www-form-urlencoded; charset=UTF-8"。由于我们发送的是 JSON 数据,因此我们应该指定它。

var stuff = [{a: 1, b: "Low"}, {a: 5, b:"High"}];

$.ajax({
url: '@Url.Action("Action")',
type: 'POST',
data: JSON.stringify({ stuff: stuff }),

contentType:"application/json", //This is the new line

traditional: true
}).done(function(res) {
console.log("Result came back");
});

关于c# - 将 JSON 对象传递给 MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33807459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com