当我尝试将数组的数组传递给服务器时,它给出(在服务器日志上)
1 => [object, object], 2=> [object, object]
使用ajax数据:数据
console.log 上的数据显示:
[Object {name="abc", place="us"}, Object {name="pqr", place="jp"}]
实际数组如下:
data.push({name: "abc", place: "us"})
data.push({name: "pqr", place: "jp"})
我希望输出为(在服务器上):
Person1 = {name="abc", place="us"}
Person2 = {name="pqr", place="jp"}
我试过 jQuery.Serialize 它不起作用并尝试将其转换为 JSON 但在客户端失败。(给出输出 [ ])
我不确定我哪里出错了。我可以直接将数据数组发送到服务器吗?
谢谢 病毒式
最佳答案
JavaScript 数组和对象不是一回事。数组的元素带有数字索引,而对象的属性带有字符串键名。
你可能想要这样的东西:
var data = {
Person1 : {name:"abc", place:"us"},
Person2 : {name:"pqr", place:"jp"}
};
这将创建一个对象 (data
),它具有属性“Person1”和“Person2”,它们本身是对具有“name”和“place”属性的对象的引用。
或者,将您的属性添加到对象的数组 push 方法等效于执行此操作:
// create an empty object
var data = {};
// set properties
data["Person1"] = {name:"abc", place:"us"};
data["Person2"] = {name:"pqr", place:"jp"};
// or use dot notation:
data.Person3 = {name:"xyz", place:"au"};
关于javascript - 将数组的数组传递给服务器 Jquery Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8306563/