gpt4 book ai didi

javascript - Angular 资源 - $resource :badcfg

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:20 24 4
gpt4 key购买 nike

我的 Angular 抛出了我

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

我不知道为什么会发生这种情况。我有一个包含学校的数据库,每所学校都有一个城市属性(property)。我正在尝试获取某个城市的所有学校。在服务器上,我的 Controller 有一个功能应该可以做到这一点:

getSchoolByData: function(req, res, next) {
School.find({city: req.params.reqCity}).exec(function (err, collection) {
if (err) {
console.log("Could not load desired school: " + err);
}
res.send(collection);

});
}

在我的客户端,我有一个资源和另一个 Controller :资源:

app.factory('SearchSchoolResource', function($resource) {
var SearchSchoolResource = $resource('/schoolSearchResult/:reqCity', {city: 'reqCity'}, { update: {method: 'PUT', isArray: false}});
return SearchSchoolResource;
});

Controller :

app.controller('SearchSchoolCtrl', function($scope, $routeParams, SearchSchoolResource) {
$scope.schools = SearchSchoolResource.query({city: $routeParams.reqCity});
});

我不知道其中哪一个无法正常工作,也不知道如何检查。我对 Angular 和 Node 很陌生,我在这上面花了超过 72 个小时,所以如果有人能告诉我如何解决这个问题,那就太棒了!除此之外,我设法返回所有学校,并且基于给定 ID 的一所学校很好,但基于城市返回学校失败。

编辑:

如果我只是将城市名称放入查找函数中,例如

... find({city: 'name'}) ...

它可以工作,但如果我使用 req.params.reqCity 它就不行。我不明白为什么它不起作用,似乎 req.params.reqCity 返回了不同的内容,而不是给定的城市名称。尝试仅使用 .ToArray 而不是 .exec,但它不再起作用。无法弄清楚 req.params.reqCity 返回什么,并且仍然无法弄清楚如何解决此问题。

最佳答案

按照这个方法试试,应该可以的。除了 get 之外,我还添加了其他操作的语法。

服务:

 app.factory('SchoolService',function($resource){
return $resource('/schoolSearchResult/:reqCity',
{
reqCity: '@reqCity'
},
{
'update': { method:'PUT' }
},
{
'get': { method: 'GET', isArray: false }
},
{
'delete': { method: 'DELETE'}
}
);
});

Controller :

app.controller('SearchSchoolCtrl', function($scope, $routeParams, SchoolService) {
var schoolService = new SchoolService();
schoolService.$get({reqCity : $routeParams.reqCity},function(result){
$scope.schools = result;
});
});

关于javascript - Angular 资源 - $resource :badcfg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28908690/

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