2010-07-03 171 views
1

在我的Rails應用中,我需要通過ajax提交表單,以便表單提交發生在幕後,並且不需要整頁重新加載。通過AJAX提交表單並獲得回覆

我做了form_remote_tag,但我無法弄清楚如何從它得到響應,確保它成功。有沒有辦法,或者人們相信它總是成功的(eek!)?

還是有更好的解決方案嗎?

+0

你可以分享你的代碼??? – Jagira 2010-07-04 12:07:47

回答

0

當您對AJAX請求做出響應時 - 可能來自您的某個控制器的createupdate操作,您應該使用一些JavaScript或JSON響應。

如果您創建一個.rjs文件進行響應,它將在頁面響應時執行。如果一切順利,您可以重定向或更新頁面。如果失敗了,用一個會顯示錯誤的部分替換表單。在這裏閱讀有關rjs的信息:http://www.codyfauser.com/2005/11/20/rails-rjs-templates

+0

謝謝,我試圖用json做出迴應,但它會導致瀏覽器拋出一個'保存'對話框。我想這不是期待json - 如果我只知道爲什麼。 – 99miles 2010-07-03 19:27:55

0

只需將回調綁定到您的form_remote_tag即可處理您的響應。

它適用於我。 希望能幫助你。

這裏我的代碼:

<% form_remote_tag :url => some_path, :method=>'post',:complete =>'your_callback_method();' do %>