我怎样才能用jQuery发布对象数组?

这甚至有可能吗? 我一直在寻找和阅读几个小时,99%的职位是关于JSON。 我只想要一个对象数组,我没有什么特别的。

var arr = []; arr.push({"name":"steve", "age":35}); arr.push({"name":"sam", "age": 25}); 

在另一端(node.js),我得到这个:

 { steve: '', sam: '' } 

我会很高兴得到类似的东西

 [{"name":"steve", "age":35}, {"name":"sam", "age": 25}] 

我觉得我错过了一件非常简单的事情,因为这看起来微不足道。 我不是自己构build数组,而是我接收它的格式。我认为这将是我可以扔到一个$ .ajax()职位,并抓住另一边。

我已经尝试了这么多不同的ajax调用组合

 $.ajax({ method: "POST", data: theArray, url: someAddress }) 

与types而不是方法,contentType,dataType等等,没有运气。 花了大量的时间在http://api.jquery.com/jQuery.ajax/但是每个人都想发送JSON。 我在客户端尝试了JSON.stringify(),但服务器端的JSON.parse()导致给我的数据就像我上面的“在另一端…”的例子。

试一下

  $.ajax({ url: "testcookie.php", type: "POST", data: { 'arr[]': JSON.stringify(arr) } }); 

你应该像这样使用数据作为jsonstring发送。

 $.ajax({ method: "POST", data: JSON.stringify(theArray), content type:" application/json", url: someAddress }) 

预计发布的请求将是一个键值对。
如果你给你的arrays一个关键:

 $.ajax({ method: "POST", data: JSON.stringify({"myArray": theArray}), url: someAddress }) 

你应该能够从另一边的Post body'myArray'键中检索它。

使用String()函数将该对象转换为String或使用JSON.stringify()

 $.ajax({ method: "POST", data: String(theArray), url: someAddress });