我有一个 API,它返回以下形式的数据(使用tastepie):
{"meta":{
"limit": 20,
"next": null,
"offset": 0,
"previous": null,
"total_count": 4},
"objects": [
{
"id": 1,
"name": "name1",
"resource_uri": "/api/v1/operator/1",
"short_name": "NA1"
},
{
"id": 2,
"name": "name2",
"resource_uri": "/api/v1/operator/2",
"short_name": "NA2"
},
...
]
}
所以我认为要让我的资源正常工作,我应该使用:
var Operator = $resource('http://127.0.0.1:8080\:8080/api/v1/operator/:operatorId',
{operatorId:'@id'},
{
query: {
method: 'GET',
transformResponse: function (data) {
console.log(JSON.parse(data).objects)
return JSON.parse(data).objects;
},
isArray: true
}
});
但是当我将 isArray 设置为 true 时:我收到以下错误:
TypeError: Object #<g> has no method 'push'
如果我将 isArray 设置为 false,我没有错误,但我的对象还包含此请求的所有元数据...
不确定我是否正确理解了这个 $resource 功能