【发布时间】:2011-03-11 11:49:43
【问题描述】:
在我的 rails 应用程序中,我需要通过 ajax 提交表单,以便表单提交在幕后进行,并且不需要重新加载整个页面。
我做了form_remote_tag,但我不知道如何从它那里得到响应以确保它成功。有没有办法,或者人们只是相信它总是成功的(哎呀!)?
或者有更好的解决方案吗?
【问题讨论】:
标签: javascript ruby-on-rails ajax prototypejs
在我的 rails 应用程序中,我需要通过 ajax 提交表单,以便表单提交在幕后进行,并且不需要重新加载整个页面。
我做了form_remote_tag,但我不知道如何从它那里得到响应以确保它成功。有没有办法,或者人们只是相信它总是成功的(哎呀!)?
或者有更好的解决方案吗?
【问题讨论】:
标签: javascript ruby-on-rails ajax prototypejs
只需将回调绑定到您的 form_remote_tag 即可处理您的响应。
它对我来说很好用。 希望能帮到你。
这是我的代码:
<% form_remote_tag :url => some_path, :method=>'post',:complete =>'your_callback_method();' do %>
【讨论】:
当您响应 AJAX 请求时 - 可能来自您的某个控制器的 create 或 update 操作,您应该使用一些 javascript 或 JSON 进行响应。
如果您创建一个.rjs 文件来响应,它将在页面响应时执行。如果一切顺利,您可以重定向或更新页面。如果某些事情失败了,请将表单替换为将显示错误的部分表单。在此处阅读 rjs:http://www.codyfauser.com/2005/11/20/rails-rjs-templates
【讨论】: