2012-10-18 1 views
0

Comment vérifier quelle méthode (POST ou PUT) a été utilisée pendant Backbone.Model.save()? J'essaie avec le code suivant qui échoue évidemment parce que la méthode success n'a pas passé l'argument xhr.Détecter la méthode http pendant la sauvegarde

success: function (model, xhr) {  
     console.log(arguments) // 2 arguments: 1 - model, 2 - json response  
     if (xhr.status === 201) { 
      this.publish(
       'message', 
       'Model was successfully created', 
       'success' 
      ); 
      $('#content').find('button[type=submit]').text('Save'); 
     } else { 
      this.publish(
       'message', 
       'Model was saved', 
       'success' 
      ); 
     } 
    }, 
+0

Est-ce que le xhr n'est pas passé au succès? En regardant les documents actuels, il semble être. – numbers1311407

+0

ce n'est pas - j'ai mis un commentaire dans ma question – Memke

+0

Vous avez raison. Lisez-le trop vite et pensez que le 'resp' était la réponse http. – numbers1311407

Répondre

1

Vous savez au moment de l'enregistrement si l'enregistrement est nouveau ou non. Vous pouvez toujours faire quelque chose comme:

var isNew = model.isNew(); 

model.save({ 
    success: function() { 
    if (isNew) 
     // handle create 
    else 
     // handle update 
    } 
}); 
Questions connexes