【问题标题】:Error: [$resource:badcfg] Error in resource configuration. Expected response to contain an array but got an object错误:[$resource:badcfg] 资源配置错误。包含数组但得到对象的预期响应
【发布时间】:2013-12-17 18:01:38
【问题描述】:

在 Angular 方面,我完全是个菜鸟,刚刚完成了一个 codeschool 教程,我已经遇到了我的第一个障碍。

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

这是我的代码:

var bulletinApp = angular.module('bulletinApp', ['ngResource']);

bulletinApp.controller('PostsController', ['$scope', 'Post', function($scope, Post) {
    $scope.heading = 'Welcome';
    $scope.posts = Post.query();

    $scope.newPost = {
        title: 'Test Post'
    }

}]);

bulletinApp.factory('Post', ['$resource', function($resource) {
    return $resource('/posts');
}]);

我在这里找到了答案: Error in resource configuration while using $resource.query() function with AngularJS/Rails

也就是说我应该将其添加到我的资源声明中:

'query': {method: 'GET', isArray: false }

问题是我不知道我应该在哪里添加这个,或者即使这是我遇到的问题?

编辑:

bulletinApp.factory('Post', ['$resource', function($resource) {
  return $resource('/posts', {'query': {method: 'GET', isArray: false}});
}]);

在此之后我仍然收到错误消息。同样在本教程中,没有必要这样做,我已经非常关注它,为什么 get 方法会获取对象而不是数组?

【问题讨论】:

标签: angularjs


【解决方案1】:

'/posts' 之后添加{}

bulletinApp.factory('Post', ['$resource', function($resource) { 
    return $resource('/posts', {}, {'query': {method: 'GET', isArray: false}}); 
}]);

详情请见this post

【讨论】:

    【解决方案2】:

    'Get' 的结果是数组还是对象?如果是数组,设置isArray=true,否则设置isArray=false,就像上面那位说的那样

    bulletinApp.factory('Post', ['$resource', function($resource) { 
    return $resource('/posts', {}, {'query': {method: 'GET', isArray: false/*true*/}}); 
    }]);
    

    注意IsArray 与isArray 不同。 或者如果您通过 json 获取数据,请添加 *.json 作为 url

    【讨论】:

      【解决方案3】:

      控制台中错误消息的下一行是更完整的错误描述的 url:

      Error: [$resource:badcfg] Error in resource configuration. Expected response to contain an object but got an array
      http://errors.angularjs.org/1.2.28/$resource/badcfg?p0=object&p1=array
      

      根据linked page,您的服务器没有返回您认为的内容,或者您​​需要告诉 $resource 期望来自服务器的数组。

      【讨论】:

        猜你喜欢
        • 2013-12-01
        • 1970-01-01
        • 2015-07-04
        • 1970-01-01
        • 1970-01-01
        • 2014-08-16
        • 2016-09-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多