2010-07-03 172 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 %>