underscore template backbone backbone.js

backbone.js - template - github backbone



Backbone model.save() no llama ni error ni devoluciones de llamada de éxito (4)

Acabo de encontrar un problema similar donde se resolvió el problema. Tienes que poner algo como primer parámetro (puse nulo ya que mi modelo ya estaba poblado con datos explícitamente) y objetar con devoluciones de llamadas como segundo. Entonces algo así como;

sessionsModel.save(null, {success:function() {} });

Estoy intentando actualizar un registro en DB así que estoy definiendo el modelo con datos y llamando al método .save (). La solicitud PUT se activa y la entrada de la base de datos se actualiza. El problema es que no se llama al éxito o se llaman devoluciones de error. ¿Qué podría ser la causa?

sessionsModel.save({ error: function() { alert(''test''); }, success: function () { alert(''test''); } });

Editar: la solicitud devuelve un objeto JSON


Estaba sufriendo este problema, pero estaba teniendo problemas porque mi servidor estaba respondiendo con un objeto JSON válido (el modelo) y ya estaba usando null en mi llamada de guardado.

Como descubrí (eventualmente), antes de que se active la devolución de llamada de éxito, el modelo devuelto se pasa a través del método de validación. En mi caso, tuve un problema (obvio cuando estás buscando en el lugar correcto) que causó que el modelo devuelto se considerara no válido y posteriormente impidió la devolución de llamada exitosa.

Aunque aprecio que esto no ayuda al OP, publico esto con la esperanza de que ayude a alguien más a tener el mismo problema.


Mientras buscaba en esto, entré por primera vez en este SO que no me funcionaba, pero que parecía funcionar para otro, más adelante me encontré con este enlace , donde alguien había intentado con null lugar de {} como el primer parámetro.

this.model.save(null, { success: function (model, response) { console.log("success"); }, error: function (model, response) { console.log("error"); } });

entonces, esto funcionó para mí. Espero que esto le ayude también.


Su servidor debe devolver un objeto JSON. Si la respuesta no es un objeto JSON, las devoluciones de llamada no se activarán. Verifique esta solución https://.com/a/22176044/1579718