我正在用对象填充数组 nodevalues
。它看起来像这样:
nodevalues.push({id: this.id, left: left, right: right});
此行位于 $.each()
迭代器内,该迭代器迭代一些 li
节点并计算 left
和 正确的
值。
所以我有一个包含几个看起来都一样的对象的数组:
是否可以使用 jQuery.post()
将此数组序列化为 url 字符串以用于数据库存储?
调用 $(nodevalues).serialize()
什么都不返回,$.param(nodevalues)
返回 undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined =undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined
...
最佳答案
jQuery.param()可能会做你想做的事
var dataString = jQuery.param(nodevalues);
看来param只能作用于对象,不能作用于数组。
如果你将你的数组包裹在一个对象中,它工作正常:
var nodevalues = [];
nodevalues.push({id: "node1", left: 1, right: 20});
nodevalues.push({id: "node2", left: 2, right: 10});
nodevalues.push({id: "node3", left: 3, right: 30});
nodevalues.push({id: "node4", left: 4, right: 40});
var data = { data: nodevalues };
alert($.param(data));
关于javascript - 序列化对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8324976/