我想将数组发送到我的action方法:
var items = { 'myIdList[]': [] };
$(':checkbox').change(function () {
$(":checked").each(function () {
items['myIdList[]'].push($(this).val());
});
$('#locationsCheckList').submit();
});
$('#locationsCheckList').submit(function () {
$.ajax({
url: this.action,
type: this.method,
traditional: true,
data: { "myIdList": items }...
行动方法:
[HttpPost]
public void GetLocations(int[] myIdList)...
项变量有数据,但是当我像这样传递它时,我得到null但是如果我改变了
data: { "myIdList": items }
与
data: { "myIdList": [1,2,3,4,5] }
它有效。 当我在浏览器中调试items变量时,我有值:
0: "1"
1: "2"
2: "3"
我不能传递数组,我不知道为什么,如果它工作硬编码?
答案 0 :(得分:1)
如果你使用一个简单的数组,类似于你工作的例子:
var items = [];
// your jQuery loop
items.push($(this).val());
// and so on
data: { "myIdList": items }...
答案 1 :(得分:0)
您的AJAX通话需要包括:
dataType: "json",