gpt4 book ai didi

javascript - Rails Ajax 表单提交两次

转载 作者:行者123 更新时间:2023-11-28 01:40:13 25 4
gpt4 key购买 nike

我有一个通过 ajax 呈现的表单。该表单也使用ajax 提交。提交表单后,它会执行两次发布请求。

当有人单击“创建个人资料”链接时,表单将通过链接旁边的 ajax 呈现。当显示表单时,我需要在 View 文件的开头包含一些 javascript,因为表单需要这些 js 文件。表格如下:

<%= javascript_include_tag "/assets/temp_js/jquery-1.8.3.min.js" %>
<%= javascript_include_tag "/assets/jquery_ujs.js" %>
<%= javascript_include_tag "/assets/temp_js/jquery.jscrollpane.min.js" %>
<%= javascript_include_tag "/assets/temp_js/jquery.c2selectbox.js" %>
<%= javascript_include_tag "/assets/temp_js/jquery.colorbox-min.js" %>
<%= javascript_include_tag "/assets/temp_js/functions.js" %>

<%= form_for @profile, :html => { :class => "clearfix" }, remote: true do |f| %>
<%= f.text_area :description, :title => "Describe yourself and what you do." %>
<%= f.file_field :pic, :class => "field file-field", :id => "file" %>
<%= f.submit "SAVE" %>

这些文件已加载到页面的 application.html.erb 文件中,但在显示表单时需要再次加载它们,因为表单中的元素需要 JavaScript。唯一的问题是两个顶级 javascript 文件由于某种原因导致表单发布两次。我无法摆脱它们,因为表单需要它们,但表单与它们一起提交了两次。有谁知道如何解决这个问题吗?

我看到一些堆栈溢出页面说我应该删除 Assets 文件夹中的 js 文件,但我需要它们用于表单。我还读到,将“config.serve_static_assets = false”添加到development.rb 将解决问题,但事实并非如此。

提前致谢。

更新:

问题肯定与 jquery_ujs.js 文件有关。如果我从上面的表单代码中删除它,它不会执行两次。

最佳答案

如果有人遇到问题,请查看您的布局文件。如果它有多个 <%= javascript_include_tag "application" %> 实例标签您将获得双重提交操作。

关于javascript - Rails Ajax 表单提交两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com