如何修复错误:
[$ resource:badcfg]资源配置错误.预期的响应包含一个数组但得到一个对象?
//服务
angular.module('admin.services', ['ngResource'])
// GET TASK LIST ACTIVITY
.factory('getTaskService', function($resource) {
return $resource('../rest/api.php?method=getTask&q=*',{ 'get': {method:'GET'}});
})
Run Code Online (Sandbox Code Playgroud)
//控制器
$scope.getTask = getTaskService.query(function (response) {
angular.forEach(response, function (item) {
if (item.numFound > 0) {
for(var i = 0; i < item.numFound; i++) {
$scope.getTasks[i] = item.docs[i];
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
小智 168
此外,如果您的服务是发送对象而不是数组,则将isArray:false添加到其声明中.
'query': {method: 'GET', isArray: false }
Run Code Online (Sandbox Code Playgroud)
Kar*_*ara 103
$resource("../rest/api"}).get();
Run Code Online (Sandbox Code Playgroud)
返回一个对象.
$resource("../rest/api").query();
Run Code Online (Sandbox Code Playgroud)
返回一个数组.
你必须使用:
return $resource('../rest/api.php?method=getTask&q=*').query();
Run Code Online (Sandbox Code Playgroud)
Vad*_*dim 33
首先,您应该$resource以不同的方式配置:URL中没有查询参数.默认查询参数可以作为第二个参数的属性传递resource(url, paramDefaults, actions).还要提到的是,您可以配置get资源的方法并使用query.
服务
angular.module('admin.services', ['ngResource'])
// GET TASK LIST ACTIVITY
.factory('getTaskService', function($resource) {
return $resource(
'../rest/api.php',
{ method: 'getTask', q: '*' }, // Query parameters
{'query': { method: 'GET' }}
);
})
Run Code Online (Sandbox Code Playgroud)
文档
http://docs.angularjs.org/api/ngResource.$resource
Hit*_*dha 19
为了使用$ resource服务处理数组,建议您使用查询方法.如下所示,查询方法是为处理数组而构建的.
{ 'get': {method:'GET'},
'save': {method:'POST'},
'query': {method:'GET', isArray:true},
'remove': {method:'DELETE'},
'delete': {method:'DELETE'}
};
Run Code Online (Sandbox Code Playgroud)
用户 $resource("apiUrl").query();
| 归档时间: |
|
| 查看次数: |
98868 次 |
| 最近记录: |