我从$resource
收到以下错误:
Error: [$resource:badcfg] Error in resource configuration for action `query`. Expected response to contain an array but got an object
API没有返回一个数组,但它返回了这个:
{
list: [...items...],
next: true,
limit: 100,
last: 0
}
我需要使用query()
获取整个对象并在list
中推送$scope.items
。
其他params
需要分页或无限滚动。
我该怎么做?
修改:
这是我的工厂:
angular.module('app').factory('Items', ['$resource',
function ($resource) {
return $resource('/items/:id', { id: '@id' }, {
'query': {
method: 'GET',
isArray: false
},
update: {
method: 'PUT'
}
});
}
]);
答案 0 :(得分:0)
您的工厂是对的,只需从query
中删除单引号:
...
query: {
method: 'GET',
isArray: false
}
...
在以下评论之后编辑
前几天我遇到了完全相同的问题,这是通过将isArray
设置为true
来解决的。所以我对语法很有信心,但对我来说,我的工厂声明略有不同:
angular.module('docAccessApp',[]).factory('Access',function($resource){
return $resource('http://localhost:8080/documentAccesses/:id',{id:'@_id'},{
query: {
method: 'GET',
isArray:false
}
});
});
也许您需要硬重新加载页面,以便浏览器刷新所有js缓存。