POST 一个带有 ANGULARJS $resource 的 JSON 数组



我需要从我的 angularjs 应用程序向 restful api 发送一个 json 数组。我正在使用ngresources来做到这一点。从现在开始,我已经能够毫无问题地发布和放置单个对象,但现在我需要发送一系列对象,但我不能。

尝试从外部休息应用程序进行调用,它工作正常,但从我的角度应用程序中是不可能的。我尝试使用 JSON.stringify 解析对象,但仍然不起作用。我在$resources上设置了标题"内容类型":"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数组。

知道吗?

谢谢

编辑

我已经尝试了$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'
            }
        });

要发布对象数组,您需要将选项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$create,没有$

请参阅有关 $resource 的 Angular 文档

最新更新