使用ANGULARJS $资源POST一个JSON数组

前端之家收集整理的这篇文章主要介绍了使用ANGULARJS $资源POST一个JSON数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从我的 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
            }
        }
    );
})

调用新的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,没有$.

See the Angular documentation on $resource

猜你在找的Angularjs相关文章