使用jQuery提交数据远程Rails表单

时间:2015-04-19 13:11:01

标签: javascript jquery ruby-on-rails ajax forms

我正在尝试使用AJAX和数据远程提交Rails表单。

通过javascript($form.submit())以编程方式触发提交。 如果我这样做,我收到InvalidAuthenticityToken错误。

我尝试在没有javascript的情况下提交相同的表单,只需单击提交按钮即可。 当我使用Javascript提交表单时,似乎没有发送身份验证令牌。 我做了一些研究,并尝试了以下选项,将身份验证令牌添加到正在发送的数据

  • 在Controller中添加以下行 skip_before_action:verify_authenticity_token,:only => :创建
  • 在form_for块中添加以下行 <%= f.hidden_​​field:authenticity_token,value:form_authenticity_token%>
  • 添加:authenticity_token =>对于form_for params
  • 是真的
  • 在development.rb中将config.action_view.embed_authenticity_token_in_remote_forms设置为true

我尝试使用以上所有内容,并且每个人都帮助我使用javascript提交表单并摆脱InvalidAuthenticityToken错误,但是,即使我仍然使用remote:true选项,请求似乎也没有执行使用AJAX,因为页面重新加载并呈现另一个视图模板。

据说我想知道如何从javascript提交表单但不会出现任何错误或重新加载页面。

1 个答案:

答案 0 :(得分:1)

如何在提交按钮而不是submit()上调用click()? :)