我需要从我的
angularjs应用程序发送一个json数组到一个restful api.我正在使用ngresources来做到这一点.
从现在开始,我已经能够发布并放置单个对象没有问题,但现在我需要发送一个对象数组,但我不能.
从现在开始,我已经能够发布并放置单个对象没有问题,但现在我需要发送一个对象数组,但我不能.
我尝试从外部休息应用程序进行调用,但它工作正常但是我的角度应用程序无法实现.我试图用JSON.stringify解析objet,但仍然无法正常工作.我在$resources上设置了标题’Content-Type’:’application / json’.
这就是我做的负面资源:
.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 () {});
我制作了一个控制台.log的objeto,是一个合适的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' } });
解决方法
要发布一个对象数组,您需要在$resource中添加选项isArray:true:
.factory('AddSignosClinicos',function ($resource) { return $resource( "url-string-here",{ create: { method: "POST",isArray: true } } ); })
//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,没有$.