2011-08-13 12 views
13

Backbone.js noob tutaj.Jak utworzyć kolekcję szkieletową z wywołania interfejsu JSON API, które zwraca parametry główne, a także tablicę

Chcę utworzyć kolekcję z interfejsu API JSON poza moją aplikacją. W szczególności api od Stackoverflow. Wiem, że powinienem ustawić parametr url z kolekcji tak:

App.Collections.Users = Backbone.Collection.extend({ 
    model: User, 
    url: "http://api.stackoverflow.com/1.1/users/800271;562692?jsonp=?&key=blahblah" 
}); 

Problemem jest to, że API JSON zwraca coś takiego:

{ 
"total": 2, 
"users": [ 
    { 
    "user_id": 800271, 
    }, 
    { 
    "user_id": 800272, 
    } 
] 
} 
} 

Jak mogę ignorować „całkowita” atrybutu?

Odpowiedz

31

Jeśli jest to jedyna kolekcja w swojej aplikacji do pracy z takim api, wszystko co musisz zrobić, to zastąpić parse metodę na to:

App.Collections.Users = Backbone.Collection.extend({ 
    // ... 
    parse: function(resp, xhr) { 
     return resp.users 
    } 
}) 

Jeśli masz również zapisać swoje modele, może będzie musiał zastąpić Backbone.sync. Nie wahaj się przeczytać backbone's source: jest to dokładnie opisane i łatwe do naśladowania.

+1

+1 za link do źródła oznaczonego szkieletem ... Fantastyczne źródło: D –

Powiązane problemy