Backbone js y rellenando un model con datos usando fetch ()

Estoy trabajando en Backbone js y estoy intentando completar un model con datos usando fetch. El problema es que la búsqueda parece estar funcionando, pero mi model no está rellenando con datos.

Un fragment del código:

Backbone.emulateHTTP = true; Backbone.emulateJSON = true; ComponentsModel = Backbone.Model.extend({ initialize : function() { }, defaults : { component_id : null }, urlRoot : "/components/ajax_component", }); ComponentsView = Backbone.View.extend({ el : $('body'), events : { 'change #component-selector' : 'changeComponent', }, initialize : function() { _.bindAll(this, 'render', 'changeComponent'); this.render(); }, changeComponent : function(e) { var clickedEl = $(e.currentTarget); var value = clickedEl.attr("value"); var component = new ComponentsModel({id :value, component_id :value }); component.fetch(); component.toJSON(); alert(component.get('component_name')); }, render : function() { }, }); 

Y el retorno de JSON del server se ve así:

 {"component_id":"1","component_name":"Test Component 1","component_description":"A simple test component","component_requinetworking":"","user_id":"1","component_approved":"0","component_price":"0","component_overview":"'"} 

La alerta siempre está indefinida. ¿Me estoy perdiendo de algo?

Fetch es asynchronous, por eso tiene success y devoluciones de error . Por lo tanto, no es seguro que los datos se obtengan cuando intenta get la propiedad. Prueba esto:

 component.fetch({ success: function(){ // Now you got your data }});