预期的响应包含一个数组但得到了一个 GET
Expected response to contain an array but got an GET
我到处研究这个问题,但没有一个解决方案适合我。
像这样: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");
});
错误出在你的工厂。您不应该将 null
作为第二个参数传递。
在$resource
中paramDefaults
是可选的,它只能是一个对象。如果您将在此处传递 null,angular 将不会处理为 paramDefaults
。它将假定没有 paramDefaults
并且 null 是一个 actions
参数,并且您的第三个参数将被视为 options
而不是 actions
。这样,$resource 将使用查询的默认实现,它需要数组。
要修复它,传递空对象 ({}) 而不是 null
。
我到处研究这个问题,但没有一个解决方案适合我。 像这样: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");
});
错误出在你的工厂。您不应该将 null
作为第二个参数传递。
在$resource
中paramDefaults
是可选的,它只能是一个对象。如果您将在此处传递 null,angular 将不会处理为 paramDefaults
。它将假定没有 paramDefaults
并且 null 是一个 actions
参数,并且您的第三个参数将被视为 options
而不是 actions
。这样,$resource 将使用查询的默认实现,它需要数组。
要修复它,传递空对象 ({}) 而不是 null
。