2016-08-05 33 views
0

Controller.js:

service.getUsers(params).$promise.then(function(response) { 
    var data = response; 
    $scope.users = data.resources; 
    $scope.totalItems = data.totalResults; 
}); 

Service.js:

return $resource('/Users', {}, { 
      getUsers: { 
       method: 'GET', 
       headers: {'segment' : 'computedSegment'}, 
       isArray: true, 
       transformResponse: function(data, header){ 
        var wrapped = angular.fromJson(data); 
        angular.forEach(wrapped.resources, function(item, idx) { 

         wrapped.resources[idx] = item; 
        }); 

        var deffered = $q.defer(); 
        deffered.resolve(wrapped); 



        return deffered.promise; 
       } 
      }}); 

我收到的问题是,虽然请求转到服务器,我收到一个响应,数据被正确处理了,那么,那么“函数将永远不会执行来设置$ scope变量。

有没有人有想法?

回答

0

我猜你忘了在getUsers方法后使用query()方法。我认为你不需要在transformResponse方法中使用promise。您可以检查answers

+0

究竟在哪里说你应该使用查询方法? –

+0

like; service.getUsers(params).query()。$ promise –

+0

TypeError:UsersService.getUsers(...)。query是不是函数是我收到一旦我将代码更改为:UsersService.getUsers(params).query( )$ promise.then(功能(响应)。 –