如何用Jquery POST一个对象数组?

时间:2015-03-26 06:15:30

标签: javascript jquery ajax node.js

这甚至可能吗?我已经搜索和阅读了几个小时,99%的帖子都是关于JSON的。我只有一个想要POST的对象数组,没什么特别的。

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}]

我觉得我错过了一些非常简单的东西,因为这似乎微不足道。我自己并没有构建数组,这是我收到它的格式。我想我可以把它扔进$ .ajax()帖子并在另一边抓住它。

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

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

使用类型而不是方法,contentType,dataType等等,没有运气。花了很多时间在http://api.jquery.com/jQuery.ajax/,但每个人都想发送JSON。我在客户端上尝试了JSON.stringify(),但服务器端的JSON.parse()导致我的数据就像我的#34;另一端..."上面的例子。

4 个答案:

答案 0 :(得分:4)

你应该这样使用,因此数据作为json字符串发送。

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

答案 1 :(得分:1)

尝试一下

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

答案 2 :(得分:1)

邮寄请求应该是一个键值对 如果给阵列一个键:

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

你应该能够从邮政机构' myArray'关键在另一边。

答案 3 :(得分:0)

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

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