使用$ http angularjs传递对象数组

时间:2015-07-10 15:57:38

标签: angularjs node.js

这是我试过的,

var items = [{a:1,b:2},{a:3,b:5}];   
$http.put("/url",{data:items}).then(function(response){
     .... 
    ....    
  });

我在服务器中获得的是

params: { invtransactionserviceData: [ [Object] ] } }

这出错了?

3 个答案:

答案 0 :(得分:1)

使用angular.toJson(),因为该数据的序列化不是自动的。

答案 1 :(得分:1)

您必须使用JSON.stringify方法。因为Object没有发送到服务器所以转换为字符串然后发送到服务器

var items = [{a:1,b:2},{a:3,b:5}];
$http.put("/url",{data:JSON.stringify(items)}).then(function(response){ .... ....
});

答案 2 :(得分:0)

使用$ .param()在传递数据之前序列化数据

$http.put("/url",{data:$.param(items)}).then(function(response){
 .... 
....    
});