jquery - 将 json 数组发送到 MVC4 Controller 操作的正确方法

标签 jquery arrays json asp.net-mvc-4 fancybox-2

我有一个 Controller :

public virtual ActionResult CreateMultiple(int[] ids)
{
...
}

在 JS 中,我获取所有选中的复选框,并将其转换为 int 数组:

var params = [];
$("input:checkbox:checked.checkedPersons").each(function () { params.push($(this).val()); });
$("a.modalFormLink").attr("data-params", JSON.stringify( { "ids": params }));

然后,一旦我单击该链接,我所做的就是显示一个带有 View 的 Fancybox...通过 Fancybox href 中的 queryString 发送 data-params 属性的值:

...
options.params = JSON.parse($(this).attr("data-params"));
var query = $.toQueryString(options.params);
...

问题:嗯,如果我只选中一个复选框,这在某种程度上是有效的。如果我有多个,绑定(bind)器就会失败并且参数为空。

data-params属性的内容是:

{"ids":["4","6"]}

当我只有一个值(并且有效)时,内容是:

{"ids":["4"]}

最佳答案

我假设您正在使用 ajax 来进行此调用。

如果是这样,请尝试添加

traditional: true

您在 ajax 调用中的选项。

$.ajax({
url : 'someurl.com',
traditional:true,
data : someData
});

关于jquery - 将 json 数组发送到 MVC4 Controller 操作的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13921398/

相关文章:

javascript - 如何在附加节点后直接获取对节点的引用?

python - 使用 'in' 匹配数组中 Python 对象的属性

mysql - 如何使用正则表达式在mysql中搜索JSON数据

java - 将具有不同键类型的映射序列化为 json

java - Spring Data Pagination 使用 JSONView 不返回任何结果

javascript - 覆盖整个网页的背景图像,具有响应性并且也是随机选择的

javascript - 使宽度不相对于父级

javascript - jQuery 中的可重用幻灯片

python - Pandas 数据透视表中的多维乘法

java - 随机 "shaking"一个数组来分配新的随机点