gpt4 book ai didi

c# - 使 List 对象与 ASP.NET MVC3 中前端的发布数据兼容

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:45 24 4
gpt4 key购买 nike

我有以下 Controller ,我通过 AJAX 以表单形式发布到:

[HttpPost]
public ActionResult Create(List<int> listOfSTuff)
{
try
{
service.Create(listOfSTuff);
}
catch
{
return null;
}
return Json(new { gid = 7 }); // hardcoded for simplicity
}

我的 jQuery AJAX 帖子使 List 数据类型与帖子数据兼容时遇到了困难。这是我的 jQuery/JavaScript 代码:

var listOfStuff = [1, 2, 3];

$.ajax({
type: 'POST',
url: '/MyController/Create',
data: listOfStuff,
success: function(data) {
alert(data.gid);
},
error: alert(':('),
dataType: 'json'
});

我知道发送到 Controller 的 AJAX 正在运行,因为我得到了一个 gid 但我没有看到数组元素 123 保存在数据库中。似乎 Controller 不喜欢我正在传递的 JavaScript 数组。谁能建议前端的数据结构应该是什么样子,以使其与 Controller 操作所期望的 List 兼容?

最佳答案

将你的 listOfStuff 声明为:

var listOfStuff = {postedValues: [1, 2, 3]};

在将发布的数据发布到 Controller 之前,将其格式化为适当的 JSON 对象会更好。所以现在:

data: listOfStuff,将发布一个正确的 JSON 字符串

并将 Controller 中的参数名称更改为:

[HttpPost] 
public ActionResult Create(List<int> postedValues)
{
}

希望它对你有用。

关于c# - 使 List 对象与 ASP.NET MVC3 中前端的发布数据兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616964/

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