2010-07-03 8 views
1

В моем приложении rails мне нужно отправить форму через ajax, чтобы отправить форму за кулисами и не требует полной перезагрузки страницы.Отправка формы через AJAX и получение ответа

Я сделал form_remote_tag, но я не могу понять, как получить от него ответ, убедитесь, что он был успешным. Есть ли способ, или люди просто доверяют, что это всегда успешно (eek!)?

Или есть лучшее решение?

+0

вы можете поделиться код ??? – Jagira

ответ

0

Когда вы отвечаете на запрос AJAX - возможно, от действия create или update одного из ваших контроллеров, вы должны ответить некоторым javascript или JSON.

Если вы создадите файл .rjs для ответа, он будет выполнен, когда страница ответит. Если все пойдет хорошо, вы можете перенаправить или обновить страницу. Если что-то не получилось, замените форму частичным, в котором будут отображаться ошибки. Читайте о rjs здесь: http://www.codyfauser.com/2005/11/20/rails-rjs-templates

+0

Спасибо, я пытаюсь ответить json сейчас, но это заставляет браузер вызывать диалог «сохранить». Наверное, это не ждет Джсона - если бы я только знал, почему. – 99miles

0

Просто привяжите обратный вызов к form_remote_tag, который обработает ваш ответ.

Это прекрасно работает для меня. Надежда поможет вам.

Вот мой код:

<% form_remote_tag :url => some_path, :method=>'post',:complete =>'your_callback_method();' do %> 
Смежные вопросы