生产服务器上提交操作被调用两次(RAILS)

3
我有一个“远程表单”:<form action="/payment_methods" class="new_credit_card_details" data-remote="true" id="new_credit_card_details" method="post">...</form>。当我点击提交按钮时,在Chrome的开发者工具面板中可以看到/pament_methods请求被发送了两次(在其他浏览器中也会出现这种情况)。我尝试查找我的JS中是否有提交事件处理程序,但我找不到,唯一的似乎是默认的jquery-ujs处理程序(我设置了remote=true)。你能建议我一种检查原因的方法吗?我必须指出,这个bug在我的开发环境中并没有出现...

“唯一的似乎是默认的,由jquery-ujs处理(我设置remote = true)。” 什么是jquery-ujs?很可能它是导致你问题的原因。 - Kevin B
jquery_ujs.js是Rails的插件,它增加了一些功能,比如在表单上添加一个数据属性"remote"=true,使其成为一个ajax表单。 - benams
1个回答

1

看起来你的远程表单发送了多个请求。尝试添加 disable_with 选项,类似于这样。

<%= submit_tag "submit", :disable_with => "Processing" %>

谢谢回复,由于我现在无法访问生产服务器,所以稍后我会检查它。您有什么想法,为什么表单会发送多个请求吗? - benams
for example double click - gotva
我认为如果原因不是双击,那么 disable_with 就没有帮助了 :-/ - gotva
我很确定这不是双击的问题,所以我会寻找其他建议,无论如何还是谢谢。 - benams

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接