Error: [$resource:badcfg] Error in resource configuration. Expected response to contain an array but got an object?

angularjs

Solution

First of all you should configure `$resource` in different manner: without query params in the URL. Default query parameters may be passed as properties of the second parameter in `resource(url, paramDefaults, actions)`. It is also to be mentioned that you configure `get` method of resource and using `query` instead.

Service

angular.module('admin.services', ['ngResource'])       
  // GET TASK LIST ACTIVITY
  .factory('getTaskService', function($resource) {
    return $resource(
      '../rest/api.php',
      { method: 'getTask', q: '*' }, // Query parameters
      {'query': { method: 'GET' }}
    );
  })

Documentation

http://docs.angularjs.org/api/ngResource.$resource

Problem

How fix Error: [$resource:badcfg] Error in resource configuration. Expected response to contain an array but got an object? // Service ``` angular.module('admin.services', ['ngResource']) // GET TASK LIST ACTIVITY .factory('getTaskService', function($resource) { return $resource('../rest/api.php?method=getTask&q=*',{ 'get': {method:'GET'}}); }) ``` // Controller ``` $scope.getTask = getTaskService.query(function (response) { angular.forEach(response, function (item) { if (item.numFound > 0) { for(var i = 0; i < item.numFound; i++) { $scope.getTasks[i] = item.docs[i]; } } }); }); ```

Original source