2016-04-03 6 views
2

私は、Backboneを使用してREST APIでデータを取得しています。次のように私のコードは次のとおりです。Backbone.jsのコレクションフェッチからモデルを構築する

var PlayerModel = Backbone.Model.extend({}); 

var PlayersCollection = Backbone.Collection.extend({ 
    url: "http://api.football-data.org/v1/teams/81/players", 
    model: PlayerModel 
}); 

var catalons = new PlayersCollection(); 
catalons.fetch(); 

私は成功しfetch、私はものを使用してデータを受信することができる午前POSTMAN

{ 
    "_links": { 
    "self": { 
     "href": "http://api.football-data.org/v1/teams/81/players" 
    }, 
    "team": { 
     "href": "http://api.football-data.org/v1/teams/81" 
    } 
    }, 
    "count": 24, 
    "players": [ 
    { 
     "name": "Marc-André ter Stegen", 
     "position": "Keeper", 
     "jerseyNumber": 1, 
     "dateOfBirth": "1992-04-30", 
     "nationality": "Germany", 
     "contractUntil": "2019-06-30", 
     "marketValue": "15,000,000 €" 
    }, 
    { 
     "name": "Claudio Bravo", 
     "position": "Keeper", 
     "jerseyNumber": 13, 
     "dateOfBirth": "1983-04-13", 
     "nationality": "Chile", 
     "contractUntil": "2018-06-30", 
     "marketValue": "15,000,000 €" 
    } 
] 
} 

GET要求を行う場合、これは私が受け取るJSON出力であります私のコレクションcatalonsにはプレイヤーだけが含まれるように、取得したデータをどのように解析するのですか?つまり、私はこのようにそれを設定していた場合に似て:あなたはBackbone's Collection parseメソッドを使用してこれを行うことができます

var catalons = new PlayersCollection(playerModelArray); 

答えて

3

を。 PlayersCollectionプロトタイプ定義に解析メソッドを追加するだけで済みます。

var PlayersCollection = Backbone.Collection.extend({ 
    url: "http://api.football-data.org/v1/teams/81/players", 
    model: PlayerModel, 
    parse: function (response) { 
     return response.players; 
    } 
}); 
+0

ありがとうございました。今は期待どおりに動作します。 – akshayKhot

関連する問題