2015-04-01 7 views
2

я получаю эту ошибку «Error: [$resource:badcfg] Error in resource configuration for action 'get'. Expected response to contain an object but got an array»Ожидаемый ответ содержит объект, но получил массив для GET действия

, и я не знаю, как это исправить. У меня есть этот сервис

angular.module('messages').factory('Messages', ['$resource', 
    function ($resource) { 
     return $resource('api/messages/:username', { 
      username: '@username' 
     }); 
    }]); 

и это в контроллере:

$scope.findOne = function() { 
     $scope.messages = Messages.get({ 
      username: $routeParams.username 
     }); 

     console.log($scope.messages); 
    }; 

Для этого маршрута я имею в контроллере API это

exports.read = function (req, res) { 
    res.json(req.message); 
}; 

Я знаю, что я должен использовать $ действие ресурсов IsArray = true, но я не знаю, куда его поместить. Я попытался сделать что-то вроде этого:

angular.module('messages').factory('Messages', ['$resource', 
    function ($resource) { 
     return $resource('api/messages/:username', { 
      username: '@username' 
     }, 
      {'query': {method: 'GET', isArray: true}}); 
    }]); 

но без результата и все той же ошибки.

+1

макияжа IsArray к ложному – Anita

+0

Yep @Anita '{ 'запрос': {метод: 'GET', IsArray: ложный}});', как ваш ответ является объект не является массивом. –

ответ

4

В контроллере:

$scope.findOne = function() { 
     $scope.messages = Messages.query({ 
      username: $routeParams.username 
     }); 

     console.log($scope.messages); 
    }; 

query Вместо get, должен решить.

3

Использование Messages.query (...) вместо метода GET()

1

То, что вы сделали это правильно, но у вас есть использовать метод вы только что создали («запрос»), так что вызов будет выглядеть как это:

$scope.findOne = function() { 
    Messages.query({ 
     username: $routeParams.username 
    }).$promise.then(function (response) { 
     $scope.messages = response; 
     console.log($scope.messages); 
    }); 

}; 
Смежные вопросы

 Смежные вопросы