角度资源查询错误

时间:2015-09-30 23:41:18

标签: angularjs angular-resource

我从$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'
            }
        });

    }
]);

1 个答案:

答案 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缓存。