2013-03-12 14 views
5

Sono nuovo alla dorsale ma ho scritto un modello di base e durante il tentativo di recuperare i dati per il mio modello. So che il server sta restituendo i dati, ma fetch sta chiamando il callback di errore.Come si trova l'errore generato da un backbone fetch

Va bene, ma non so come posso trovare quale errore viene generato.

Ecco il codice rilevante:

mUser = Backbone.Model.extend({ 
    urlRoot: CURRENT_URL+'user', 
    defaults: { 
     name: '', 
     age: 22, 
     email: '' 
    }, 
    initialize: function(){ 

    } 
    }); 

    user = new mUser({'id':1}); 

    var x = user.fetch({ 
    error: function(model, xhr, options){ 
     alert('Error on fetch') 
     console.log(xhr.responseText); 
    }, 
    success: function(model, response, options) { 
     alert(user.toJSON()); 
    } 
    }) 
    console.log('x email',x.email) 

Come ho già detto, il responseText ha i dati mi aspetto di vedere dal server, che è:

{ 'id': '1', 'nome': 'joe', 'age': '25', 'email': '[email protected]'}

Forse dovrei dire che lo sono, facendo questo come parte di un'app Android PhoneGap . Non penso che sia significativo per il problema che sto avendo, ma limita le mie opzioni di debug.

+0

hai controllato il codice di stato http restituito? – soulcheck

+0

Il server invia un 200. Avrei dovuto accennarlo. –

+0

qual è il valore di CURRENT_URL e in che modo stai monitorando le richieste? – soulcheck

risposta

13

Probabilmente stai ricevendo un parsererror quando jQuery prova ad analizzare la risposta JSON dal tuo server. Per verificare se stai ricevendo uno parsererror, aggiungi un callback complete e controlla il parametro textStatus. per esempio.

user.fetch({ 
    complete: function(xhr, textStatus) { 
    console.log(textStatus); 
    } 
}); 
+0

Quando ho aggiunto questo, il valore che ho ottenuto era per textStatus era solo "errore". Stavo ricevendo un 200 dal server. Nel mio caso il problema era che stavo caricando la pagina web dal file: // e chiamando il servizio REST da http: //. –

Problemi correlati