在我的Rails應用中,我需要通過ajax提交表單,以便表單提交發生在幕後,並且不需要整頁重新加載。通過AJAX提交表單並獲得回覆
我做了form_remote_tag,但我無法弄清楚如何從它得到響應,確保它成功。有沒有辦法,或者人們相信它總是成功的(eek!)?
還是有更好的解決方案嗎?
在我的Rails應用中,我需要通過ajax提交表單,以便表單提交發生在幕後,並且不需要整頁重新加載。通過AJAX提交表單並獲得回覆
我做了form_remote_tag,但我無法弄清楚如何從它得到響應,確保它成功。有沒有辦法,或者人們相信它總是成功的(eek!)?
還是有更好的解決方案嗎?
當您對AJAX請求做出響應時 - 可能來自您的某個控制器的create
或update
操作,您應該使用一些JavaScript或JSON響應。
如果您創建一個.rjs
文件進行響應,它將在頁面響應時執行。如果一切順利,您可以重定向或更新頁面。如果失敗了,用一個會顯示錯誤的部分替換表單。在這裏閱讀有關rjs的信息:http://www.codyfauser.com/2005/11/20/rails-rjs-templates
謝謝,我試圖用json做出迴應,但它會導致瀏覽器拋出一個'保存'對話框。我想這不是期待json - 如果我只知道爲什麼。 – 99miles 2010-07-03 19:27:55
只需將回調綁定到您的form_remote_tag即可處理您的響應。
它適用於我。 希望能幫助你。
這裏我的代碼:
<% form_remote_tag :url => some_path, :method=>'post',:complete =>'your_callback_method();' do %>
你可以分享你的代碼??? – Jagira 2010-07-04 12:07:47