错误:[$ resource:badcfg]资源配置错误.预期的响应包含一个数组但得到一个对象

 白云飞羽_389 发布于 2023-02-13 14:58

我是一个关于角度的完整菜鸟,只是通过一个代码学教程,我已经达到了我的第一个障碍.

我正进入(状态 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');
}]);

我在这里找到了一个答案: 在使用带有AngularJS/Rails的$ resource.query()函数时资源配置出错

那说我应该把它添加到我的资源声明中:

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

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

编辑:

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

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

2 个回答
  • {}之后添加'/posts'.

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

    有关详细信息,请参阅此帖子.

    2023-02-13 15:01 回答
  • '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

    2023-02-13 15:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有