在我的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