2012-03-30 11 views
0

Ich verwende Backbone mit Rails, und ich mache einen Speicheraufruf auf einem Backbone-Modell. Er übergibt die richtigen Parameter an den Server und der Server antwortet mit einer 200, und das Modell wird tatsächlich in der Datenbank aktualisiert.Backbone-Update-Trigger abgeschlossen, aber kein Fehler oder Erfolg

Das Problem ist, es kommt mit einem Fehler zurück zum Ajax-Aufruf. Die lustige Sache ist, wenn ich in den Ajax-Aufruf innerhalb von Backbone.sync gehe und Fehler, Erfolg und komplette Rückrufe eingib, löst es nur komplett aus. Der vollständige Rückruf registriert einen Fehler, aber das ist alles, was er sagt.

dies Nachdem die Seite auf die gleiche URL umleitet, aber mit allen Parametern in einer Abfragezeichenfolge gesendet:

/blah/23/Index

dann dem Backbone speichert mit {Sache: 27, Mann: 82}, und alles funktioniert, aber die Umleitungen zu

/blah/23/index Sache = 27 & Mann = 82

ich glaube nicht, es ist ein Backbone spezifisches Problem ist, denn ich bin? Rückgabe des aktualisierten Objekts in gültigen JSON, und ich bin s den Erfolg, den Fehler und die Rückrufe auf den tatsächlichen Ajax-Aufruf innerhalb von Backbone.sync zu erledigen.

Wer auf etwas Ähnliches stoßen oder einen Vorschlag haben?

Antwort

2

AAAHHHHH!

Ich verbrachte so viel Zeit damit, dieses Problem zu lösen, und es stellte sich heraus, dass es so dumm war. Der Backbone.sync-Aufruf kam von dem Versuch, Informationen aus einem Formular zu speichern. Also habe ich die Daten aus dem Formular gesammelt und model.save mit den Attributen aufgerufen. Der Backbone.sync Anruf war in Ordnung, aber eine Sache fehlte ...

Event.preventDefault()

Die Form war eine echte Form mit einem Submit-Button, und irgendwo während einige verschmelzen Konflikte, die Veranstaltung. preventDefault() ist verloren gegangen.

Wenn dies der Fall ist, denken Sie daran, event.preventDefault() aufzurufen, wenn Sie ein echtes Formular senden, aber stattdessen Backbone.sync oder einen beliebigen Ajax-Aufruf verwenden möchten.

Verwandte Themen