【发布时间】:2014-12-27 12:25:57
【问题描述】:
我想使用 $resources 从 json 文件中获取数据,但我总是收到该错误。 但是,我可以使用 $http 来做到这一点,因此我认为我的服务设置有问题。
这是我的控制器:
$scope.serviceRes = serviceRes.get({fileName: 'services.json'}, function(svcs) {
});
这是我的服务
angular.module('myservices', ['ngResource'])
.factory('serviceRes', ['$resource',
function($resource){
return $resource(':fileName', {}, {
query: {method:'GET', params:{fileName:'services.json'}, isArray:false}
});
}]);
注意:我也已经尝试过使用isArray:true,但还是不行。
这是来自https://docs.angularjs.org/error/$resource/badcfg?p0=array 的错误解释:
当 $resource 服务期望响应可以反序列化为数组、接收对象或反之亦然时,会发生此错误。默认情况下,所有资源操作都需要对象,除了需要数组的查询。 要解决此错误,请确保您的 $resource 配置与从服务器返回的数据的实际格式匹配。
但不幸的是,我仍然不知道如何解决它。我已经看过类似的线程Error: [$resource:badcfg] Error in resource configuration. Expected response to contain an array but got an object?,但仍然无法解决。 有什么帮助吗?
编辑:
这是json文件
[
{"name": "aaaa",
"time": "3.00 PM",
"desc": "Description 1",
"cp": "John (0004 123 456)",
"email":"email@email.com"},
{"name": "bbbbb",
"time": "12.00 PM",
"desc": "Description 2",
"cp": "John Doe (0414 141 414)",
"email":"email2@yahoo.com"}
]
【问题讨论】:
-
响应真的是一个数组吗?包含
services.json的内容可能会有所帮助。 -
我已经添加了json文件
标签: javascript angularjs