我需要从我的angularjs应用程序发送一个json数组到一个restful api。我正在使用ngresources来做到这一点。 从现在开始,我已经能够发布并放置单个对象没有问题,但现在我需要发送一个对象数组,但我不能。
我尝试从外部休息应用程序进行调用,但它工作正常但是我的角度应用程序无法实现。我试图用JSON.stringify解析objet,但仍然无法正常工作。我设置标题'Content-Type':'application / json',以及$ resources。
这就是我做的负面资源:
.factory('AddSignosClinicos', function ($resource) {
return $resource(dondeapuntar + "/Rest/Pacientedatossignosclinicos.svc/pACIENTEDATOSSIGNOSCLINICOSList/Add", {}, {
create: { method: "POST", headers: { 'Content-Type': 'application/json', params: {} } }
});
})
这就是我调用函数的方式:
var objeto = JSON.stringify(SignosClinicosGuardar);
var signosClinicosService = new AddSignosClinicos(objeto);
signosClinicosService.$create().then(function () {});
我创建了一个objeto的console.log,是一个合适的json数组。
有什么想法吗?
非常感谢
修改
我已经为post请求尝试了$ http组件,并且它有效!我不明白为什么不使用ngResources,这是我的$ http代码:
$http({
url: 'http://localhost:1046/Rest/Pacientedatossignosclinicos.svc/pACIENTEDATOSSIGNOSCLINICOSList/Add',
method: "POST",
data: SignosClinicosGuardar,
headers: {
'Content-Type': 'application/json; charset=UTF-8'
}
});
答案 0 :(得分:5)
要发布一个对象数组,您需要将选项isArray: true
添加到$ resource:
.factory('AddSignosClinicos', function ($resource) {
return $resource(
"url-string-here",
{},
{
create: {
method: "POST",
isArray: true
}
}
);
})
调用新的create
函数看起来像这样:
//some list of your object instances
var array_of_objects = ...
var saved_objects = AddSignosClinicos.create(
array_of_objects
);
saved_objects.$promise.then(function() {
...
});
注意,create
vs $create
,没有$
。