gpt4 book ai didi

javascript - 使用ajax javascript将一个int数组传递给MVC Controller

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:53:19 25 4
gpt4 key购买 nike

我在这里做错了什么?

我可以成功地将 4 个 bool 参数传递给 Controller ​​。现在我想将一个 int 数组传递给我的 Controller ,但它不起作用 - 我在示例中留下了我的工作代码(注释掉)所以你可以看到我并没有改变那么多 - 我想我是缺少一些简单的东西(毕竟是 17:44!!!)。我可以看到数组是使用 alert(rolesChecked); 填充的声明:

var rolesChecked = [];
$('[type="checkbox"].role-checkbox').each(function () {
if (this.checked)
{
rolesChecked.push($(this).val());
}
});

alert(rolesChecked);

//var administrator = $('#cbAdministrator').is(":checked");
//var manager = $('#cbManager').is(":checked");
//var technician = $('#cbTechnician').is(":checked");
//var transcriber = $('#cbTranscriber').is(":checked");

if (rolesChecked.count > 0){//administrator || manager || technician || transcriber) {
$.ajax({
url: '@Url.Action("GetFutureHolidays", "Employee")',
type: 'GET',
dataType: 'json',
// we set cache: false because GET requests are often cached by browsers
// IE is particularly aggressive in that respect
cache: false,
data: {
roleIdXXXs: rolesChecked
//includeAdministrator: administrator,
//includeManager: manager,
//includeTechnician: technician,
//includeTranscriber: transcriber
},
success: function (data) {

//do something...
}
});
}

Controller Action :

public string GetFutureHolidays(List<int> roleIdXXXs)//bool includeAdministrator, bool includeManager, bool includeTechnician, bool includeTranscriber)
{
//do something
}

使用旧代码, Controller 操作将被击中...使用数组,它永远不会被击中...我在这里缺少什么...

另外,我认为List<int> roleIdXXXs应该没问题,不过我也试过了List<string> , int[]string[]万一不是!!!

最佳答案

您需要添加 traditional: true ajax 选项以将数组回发到集合中

$.ajax({
url: '@Url.Action("GetFutureHolidays", "Employee")',
type: 'GET',
dataType: 'json',
cache: false,
data: { roleIdXXXs: rolesChecked },
traditional: true, // add this
success: function (data) {
}
});

另请参阅 answer to this question有关这些选项的作用及其生成的表单数据的更多详细信息。

关于javascript - 使用ajax javascript将一个int数组传递给MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33021551/

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