gpt4 book ai didi

javascript - 使用 AJAX 将 JavaScript 数组发送到 asp.net MVC Controller

转载 作者:行者123 更新时间:2023-12-03 21:43:10 24 4
gpt4 key购买 nike

我的 Controller :

[HttpPost]
public ActionResult AddUsers(int projectId, int[] useraccountIds)
{
...
}

我想通过 AJAX 将参数发布到 Controller 。传递 int projectId 不是问题,但我无法发布 int[]

我的 JavaScript 代码:

function sendForm(projectId, target) {
$.ajax({
traditional: true,
url: target,
type: "POST",
data: { projectId: projectId, useraccountIds: new Array(1, 2, 3) },
success: ajaxOnSuccess,
error: function (jqXHR, exception) {
alert('Error message.');
}
});
}

我用测试阵列尝试过,但没有成功。 :(我还尝试设置 traditional: truecontentType: 'application/json; charset=utf-8' 但也没有成功......

发布到我的 Controller 的 int[] useraccountIds 始终为空。

最佳答案

您可以定义 View 模型:

public class AddUserViewModel
{
public int ProjectId { get; set; }
public int[] userAccountIds { get; set; }
}

然后调整您的 Controller 操作以将此 View 模型作为参数:

[HttpPost]
public ActionResult AddUsers(AddUserViewModel model)
{
...
}

最后调用它:

function sendForm(projectId, target) {
$.ajax({
url: target,
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({
projectId: projectId,
userAccountIds: [1, 2, 3]
}),
success: ajaxOnSuccess,
error: function (jqXHR, exception) {
alert('Error message.');
}
});
}

关于javascript - 使用 AJAX 将 JavaScript 数组发送到 asp.net MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15782417/

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