【发布时间】:2015-04-17 02:31:50
【问题描述】:
我的角度把我扔了
错误:[$resource:badcfg] 操作
query的资源配置错误。预期响应包含一个数组但得到一个对象
我不知道为什么会这样。我有一个学校的数据库,每所学校都有一个城市财产。我正在尝试获取给定城市的所有学校。 在服务器上,我的控制器有一个功能应该可以做到这一点:
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);
});
}
在我的客户端,我有一个资源和另一个控制器: 资源:
app.factory('SearchSchoolResource', function($resource) {
var SearchSchoolResource = $resource('/schoolSearchResult/:reqCity', {city: 'reqCity'}, { update: {method: 'PUT', isArray: false}});
return SearchSchoolResource;
});
控制器:
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 返回什么,仍然无法弄清楚如何解决这个问题。
【问题讨论】:
-
我试过了。不过我可能理解错了。我写道:pastebin.com/KGfST9n4,但它没有用。它停止给我错误,但它在第 8 页上什么也没显示,我认为它甚至没有启动 SearchSchoolCtrl 代码,因为我试图在那里打印一些没有打印的东西。我尝试更改我的 Angular 应用程序中的路径,并从 /schoolSearchResult/:reqCity 表达到 /schoolSearchResult 并且它没有工作。
标签: javascript angularjs node.js express resources