Mam podstawowy model szkieletowy, jego atrybut urlRoot
jest ustawiony, a odpowiedni obiekt docelowy po stronie serwera zwraca poprawne wyjście JSON (zarówno ciąg JSON, jak i nagłówek application/json
).Backbone.js fetch nie ustawia atrybutów
nazywam sprowadzić tak:
var athlete = new Athlete({ id: 1 });
athlete.fetch();
w tym momencie, jeśli mogę dodać
console.log(athlete);
widzę model i kontrolowanie go w Firebug mogę otworzyć atrybuty obiektów i zobacz wszystkie wartości zwrócone z serwera.
ale jeśli mam zrobić:
console.log(athlete.get('name'));
uzyskać undefined
(nazwa pojawia się pod atrybutów w inspekcji DOM wspomniałem powyżej)
również robi:
console.log(athlete.attributes);
zwraca obiekt zawierający tylko {id: 1}
, który jest argumentem, który przekazałem podczas tworzenia modelu.
Jeśli utworzyć model takiego:
var athlete = new Athlete(<JSON string copypasted from the server response>);
następnie wszystko działa w porządku, .get()
metoda powraca co pytam, i athlete.attributes
pokazuje wszystkie wartości.
Co robię źle?
Oczywiście teraz zdaję sobie sprawę, jak oczywiste było, dzięki za wskazanie :) –