javascript - 将数组的数组传递给服务器 Jquery Ajax

标签 javascript jquery json

当我尝试将数组的数组传递给服务器时,它给出(在服务器日志上)

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/

相关文章:

javascript - 如何使用 boolean 标志跳过特定事件?

jquery - 如何使 jQuery 对话框弹出窗口保持在浏览器中央

json - HTTP 请求、JSON、重用连接

python - 使用 xmltodict 在 python 中从 xml 文件创建 json 文件

javascript - 在js文件中加载html文件

javascript - 如何使用 json 数据绑定(bind) Extjs grid 4 的数据

javascript - Highcharts:每次点击按钮动态更新图表

jquery - 这两个 jQuery 函数有什么区别?

jquery - select2 下拉样式和占位符的问题

json - 如何修复 Swift 4 中的 [BoringSSL] 长度错误?