gpt4 book ai didi

javascript - 将数据从ajax函数传递到mvc4方法

转载 作者:行者123 更新时间:2023-12-03 11:29:08 25 4
gpt4 key购买 nike

我正在使用 C# 和 jQuery 制作一个简单的 MVC4 应用程序。在此应用程序中,当用户按下 id 为 SaveCheckboxChanges 的按钮时,我想使用 jQuery 通过 ajax 将两个数据数组发送到服务器。

然后服务器读取这些数据数组并进行相应的处理。

Controller 方法:

[HttpPost]
public ActionResult UpdateCheckBoxes(string requiresSetupArray, string disabledArray){
return Json("chamara", JsonRequestBehavior.AllowGet);
}

Javascript jQuery 代码:

$("#SaveCheckboxChanges").click(function (event) {
if (!$("#SaveCheckboxChanges").hasClass("disabled")) {
var requiresSetupArray = [0, 1, 2];
var disabledArray = [4, 5, 6];

$.ajax({
url: '/Material/UpdateCheckBoxes',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({requiresSetupArray: requiresSetupArray, disabledArray: disabledArray }),
success: function (data) {
alert("Success ")
},
error: function () {
alert("error");
}
});
}
});

到目前为止的问题是,即使 Controller 中的方法被正确调用,参数始终为空!我缺少什么?为什么我的 Ajax 方法没有传递信息?

最佳答案

您可以尝试更改 Controller 方法参数,然后将 AJAX 传统参数设置为 true:

[HttpPost]
public ActionResult UpdateCheckBoxes(int[] requiresSetupArray, int[] disabledArray){
return Json("chamara", JsonRequestBehavior.AllowGet);
}

Javascript

$("#SaveCheckboxChanges").click(function (event) {
event.preventDefault();
if (!$("#SaveCheckboxChanges").hasClass("disabled")) {
var requiresSetupArray = [0, 1, 2];
var disabledArray = [4, 5, 6];

$.ajax({
url: '/Material/UpdateCheckBoxes',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
traditional: true,
data: JSON.stringify({
requiresSetupArray: requiresSetupArray,
disabledArray: disabledArray
}),
success: function (data) {
alert("Success " + checkBoxesNumber)
},
error: function () {
alert("error");
}
});
}
});

关于javascript - 将数据从ajax函数传递到mvc4方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26800389/

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