如何从Angular $资源中获取JSON

时间:2013-10-02 21:40:04

标签: angularjs ngresource

如何从$资源中获取get JSON数据?

目前,User.queryUser.$save()之外的所有返回值都是工厂对象。我希望能够将$scope.users保留为原始JSON,以便我可以修改它并将数据发布到另一个URL。

 myApp.factory("User", function($resource) {
    return $resource("/api/users/:Id", { Id: "@Id"}, {
      "update": {method:"PUT"},
      "query": { method:"GET", isArray: true }
    });
});

var users = User.query(function() {
    $scope.users = users;
});

1 个答案:

答案 0 :(得分:0)

您可以像这样转换响应:

myApp.factory("User", function($resource, $http) {
    return $resource("/api/users/:Id", { Id: "@Id"}, {
        "update": {method:"PUT"},
        "query": {
            method:"GET",
            isArray: true,
                transformResponse: [function (data, headersGetter) {
                return [{ result: JSON.parse(data) }];
            }].concat($http.defaults.transformResponse)
        }
    });
});