我已經與以下形式返回數據的API(使用tastypie):
{"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的爲真:我得到了以下錯誤:
TypeError: Object #<g> has no method 'push'
如果我設置IsArray的假,我沒有犯錯或者,但我的對象也包含該請求的所有元DATAS ...
不知道我理解正確此$資源特徵
按照數組[官方文檔(http://docs.angularjs.org/api/ngResource/service/$resource) 。數據似乎代表http響應主體。 '轉換函數採用http響應正文和標題,並返回它的轉換(通常是反序列化)版本。 – xtang