所以我试图将多维数组传递给$ .post ajax函数但由于某种原因它没有读取数组。
sections = [];
for (var i = 0; i < 2; i++) {
var array = new Array();
array['main'] = i;
var items = new Array();
for (var j = 0; j < 2; j++) {
var array2 = new Array();
array2['sub1'] = (j+i);
array2['sub2'] = (j*i);
items[j] = array2;
}
array['items'] = items;
sections[i] = array;
}
console.log(sections);
$.post("planners/save_sections?ajax=1", {sections: sections, id:id}, function(response) {});
因此,使用firebug调试并查看正在传递的帖子数据,它似乎读取了id变量,但没有读取sections变量。
从php方面我使用print_r($_POST)
来查看收到的内容,它似乎也只读取了id变量。
这里有语法问题吗?或者我错过了什么?提前谢谢
答案 0 :(得分:0)
您正在尝试将字符串键添加到数组中。你不能用JavaScript做到这一点。
如果需要动态可设置的命名属性,则需要使用对象。
每次使用new Array()
时,您应该使用{}
:
var obj = {}
obj['main'] = i; // or obj.main = i