gpt4 book ai didi

angularjs - 错误 : [$resource:badcfg] Error in resource configuration for action `query` . 预期响应包含一个数组但得到一个对象

转载 作者:可可西里 更新时间:2023-11-01 09:20:17 24 4
gpt4 key购买 nike

我是 MEAN 堆栈开发的新手,昨天才开始。我正在尝试通过使用链接到服务器端 Controller 的资源进行调用,从数据库中取回我的数据。但我收到以下控制台错误“错误:[$resource:badcfg] 操作 query 的资源配置错误。预期响应包含一个数组但得到一个对象”

Angular Controller :

app.
controller('ArticleCtrl', function($scope, $location, $resource){

var articles = $resource('/api/articles');

articles.query(function(result){

console.log(result);

});

$scope.addnew = function(){

$location.path("/administrationarea/articles/newarticle");

}


});

服务器.js:

articlesController = require('./server/controller/article-controller');

app.get('/api/articles', articlesController.list);
app.post('/api/articles', articlesController.create);

服务器端 Controller :

var article = require('../models/articleModel');

module.exports.create = function(req, res){

var art = new article(req.body);
art.save( function (err, result){

res.json(result);

});

}


module.exports.list = function(req, res){

article.find({}, function (err, results){

res.json(results);

});

}

谁能告诉我为什么会发生这种情况,并可能提供一个解决方案,以便将数据作为数组而不是对象返回。

最佳答案

错误是因为

var articles = $resource('api/articles');
articles.query(function(result){
// here result should be an array.
console.log(result);
});

这里的 articles.query 需要一个数组。但不是对象。

如果您的 api 返回一个对象,那么您应该使用 articles.get()。

articles.get(function(result){
// here result should be an object but not array
console.log(result);
});

$resource.query() 用于从 REST API 获取数组,$resource.get() 用于从 REST API 获取对象。但在这两种情况下,请求类型(/方法)仅为“获取”。

请引用angularJS documentation

关于angularjs - 错误 : [$resource:badcfg] Error in resource configuration for action `query` . 预期响应包含一个数组但得到一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29871492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com