2012-03-30 4 views
0

Я использую Backbone с Rails, и я делаю вызов для сохранения на модели Backbone. Он передает правильные параметры серверу, а сервер отвечает 200, и модель фактически обновляется в базе данных.Триггеры обновления базовой линии завершены, но не ошибка или успех

Проблема в том, что она возвращается к вызову ajax с ошибкой. Самое смешное, когда я перехожу в вызов ajax в Backbone.sync, и я добавляю ошибку, успех и полные обратные вызовы, он только запускает завершение. Полный обратный вызов регистрирует ошибку, но это все, что она говорит.

После этого страница перенаправляет на тот же URL, но со всеми параметрами, посланных в строке запроса:

/бла/23/индекс

то Backbone сохранить с {вещь: 27, человек: 82}, и все работают, но переадресовывает к

/л/23/индекс вещи = 27 & людей = 82

Я не думаю, что это конкретная проблема, Backbone, потому что я? возврат обновленного объекта в действительный JSON, и я etting all the success, error, complete callbacks для фактического вызова ajax в Backbone.sync.

Кто-нибудь сталкивается с чем-либо подобным или имеет предложение?

ответ

2

AAAHHHHH!

Я потратил столько времени, пытаясь выяснить эту проблему, и оказалось, что это так глупо. Вызов Backbone.sync исходил из попытки сохранить информацию из формы. Поэтому я собрал данные из формы и назвал model.save с атрибутами. Вызов Backbone.sync было хорошо, но одна вещь не хватает ...

event.preventDefault()

форма была настоящая форма с кнопки отправки, и где-то в ходе некоторых конфликтов слияния, событие. preventDefault() потерян.

Если это происходит с вами, не забудьте вызвать event.preventDefault(), если вы отправляете реальную форму, но вместо этого вы хотите использовать Backbone.sync или любой вызов ajax.