我到处研究过这个问题但没有解决方案对我有用。 像这样:Error: [$resource:badcfg] Error in resource configuration. Expected response to contain an array but got an object?
我仍然收到错误配置的错误。有人可以帮我解决这个问题,谢谢。
厂:
angular.module('lensApp')
.factory('LensResource', function($resource) {
return $resource(
'api/lens',
null,
{'query': {method:'GET', isArray: false}}
);
});
服务:
var params = {};
params['id[]'] = [1,2];
LensResource.query(params, function(data) {
console.log(data);
}, function(error) {
console.log("error");
});
答案 0 :(得分:0)
您的工厂出现错误。您不应该将null
作为第二个参数传递。
在$resource
paramDefaults
中是可选的,它只能是一个对象。如果你在这里传递null,那么angular不会被视为paramDefaults
。它会假设没有paramDefaults
而null是actions
参数,而您的第三个参数将被视为options
而不是actions
。这样,$ resource将使用查询的默认实现,它需要数组。
要解决此问题,请传递空对象({})而不是null
。