使用 JQuery Ajax 提交表单会导致多个请求(和提交)

2024-02-24

我遇到了 JQuery 表单提交问题,并且在任何地方都找不到答案。如果有人能够阐明这一点,我们将不胜感激。

问题:我第一次提交表单时,效果很好。但如果我第二次提交相同的表单,它会发送 2 个请求,第三次会发送 3 个请求,依此类推。

Script:

    function postInvokeFunctionForm(functionId){
      var formId = "#"+functionId+"-form";
      var formUrl = "invokeFunction.html?functionId="+functionId
      $(formId).submit(
        function(){
            $.ajax({
                type: 'POST',
                url: formUrl,
                data: $(formId).serialize(),
                success: function (data){
                 alert('successfully invoked function!' + data);
                }
            });
            return false;
           }
        );
   }

动态生成的表单:

<form action="" method="post" id="xxxxx-form" class="invokeFunctionForm">
<input name="functionId" value="xxxxx" readonly="readonly" style="visibility: hidden;" type="text">
<input value="Invoke" onclick="postInvokeFunctionForm(xxxxx);" type="submit">
</form>

这显然是不可取的。我能想到的唯一解决方案是在提交后重新渲染(动态生成的)表单,但这将是一项昂贵的操作。

这是 JQuery ajax 提交的已知问题还是我遗漏了一些明显的东西?是否可能发生某种形式的递归?

Thanks.


每次单击按钮时,代码都会调用您的函数。在该函数中,该行$(formId).submit(...);正在将事件绑定到表单的提交操作。每次单击时都会发生这种情况,从而向表单添加多个“提交”事件。你需要unbind http://api.jquery.com/unbind/先行动。所以你可以打电话$(formId).unbind('submit').submit(...);反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JQuery Ajax 提交表单会导致多个请求(和提交) 的相关文章

随机推荐

  • Quartz.net 中每次执行后 JobData 不会持久化

    我有一份工作想要跟踪 50 次最新运行 由于某种原因 状态似乎没有存储在我的简单原型中 PersistJobDataAfterExecution public class ApiJob IJob private const string J
  • 使用 jsTree 进行延迟加载

    我试图在 jtree 扩展时动态加载它们的节点 我发现的小文档位于末尾这一页 http www jstree com docs json 我找到了一些解决方案 可以使用类似的循环逐一创建节点this one https stackoverf
  • 冬眠,偷懒还是不偷懒? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 I have entity A 与多对多关系entity B 所以表格布局是 A AB mapping table B 获取实体A的对象 我打电
  • 仅当使用reactJS 城市名称不匹配时才显示错误消息

    我有一个搜索框 当用户输入 5 个或更多字符时 它应该在搜索框中显示完整地址 IT 工作正常 但现在的问题是当城市名称不匹配时 它应该显示错误消息 问题是 匹配的城市名称和不匹配的城市都显示错误消息 我该如何解决这个问题 请问有人可以帮我吗
  • 为什么在删除实体时会出现 StaleObjectStateException?

    在我的 Spring Boot Web 应用程序中 我有一个控制器 它提供了一种从数据库中删除实体的方法 该方法又调用 DAO 类 然而 当我打电话时entityManager remove entity 我收到一个StaleObjectS
  • SQL Server ON DELETE 触发器

    我正在尝试创建一个基本数据库触发器 当删除database2 table2 中的行时 该触发器有条件地从database1 table1 中删除行 我是触发器新手 希望学习实现此目标的最佳方法 这是我到目前为止所拥有的 建议 CREATE
  • 如何使用 GDB 调试共享对象库中的函数?

    我正在尝试验证共享对象库中函数的功能 在带有main函数 我会简单地start程序和 gdb 会自动在 main 上设置断点 但这显然在这里不可用 假设我有一些add c long add long x long y return x y
  • 在 Xamarin.Forms 中处理 Android 推送通知操作

    所以我只是在我的 Xamarin Forms Android 应用程序中实现了 FCM本指南 https learn microsoft com en us azure app service mobile app service mobi
  • 写“::namespace::identifier”和“namespace::identifier”有什么区别?

    我在代码中看到了这两种方法 您能解释一下两者之间有什么区别吗 我认为它与 C 完成名称空间查找的方式有关 您能否也提供一些有关此的信息 或者可能是一个好的文档的链接 谢谢 Example include
  • Is-大括号-可构造类型特征

    如何检查是否特定类型typename T可以从参数构造typename Args以这样的方式T Args 我知道std is constructible lt T Args gt 类型特征来自
  • 多行引导行

    我希望表单字段在台式机和平板电脑上的放置方式不同 目前 桌面上一切都很好 我身边有两个类似的案例 在第一个中 我有这样的内容 输入字段位于 div 中 div class row div class col md 3 col sm 6 di
  • ZF2:模块无法初始化

    我正在尝试开始使用 ZF2 但在编写教程 在 ZF 网站上 中的代码时遇到问题 我的代码 Module php
  • 如何使用 Android 版 Google Places API 获取 opening_hours

    我正在与适用于 Android 的 Google 地方信息 API https developers google com places android api 我想访问营业时间信息 我已经搜索并在Google Places API 网络服
  • 使用 boost::shared_ptr 有哪些潜在危险?

    使用时有哪些方式可能会搬起石头砸自己的脚boost shared ptr http www boost org doc libs release libs smart ptr shared ptr htm 换句话说 我在使用时要避免哪些陷阱
  • 在 Google Charts 中包含带有 MathJax 的 LaTeX 符号?

    在生成的树形图中谷歌图表 https developers google com chart interactive docs gallery orgchart我想包含使用 MathJax 生成的 LaTeX 符号 使用通常在 HTML 文
  • Keras 的 OrderedEnqueuer 是否保证了批次的顺序?

    我有一个习惯keras utils sequence它以特定 且关键 的顺序生成批次 但是 我需要跨多个核心并行化批量生成 名字是不是 OrderedEnqueuer 意味着结果队列中批次的顺序保证与原始队列的顺序相同keras utils
  • Jupyterlab 最小化导航窗格

    在 JupyterLab 中 屏幕左侧的导航窗格非常有用 但占用了大量空间 有没有办法隐藏它 以便我们可以使用导航器窗口的整个宽度查看笔记本 我自己的问题的答案是 您只需单击 文件 垂直选项卡即可 此操作会切换导航窗格
  • 导入错误:在 Heroku 上部署时没有名为“解耦”的模块

    我试图从heroku cli 在heroku 上部署我的django 项目 所以我创建了一个应用程序然后运行git push heroku master从项目目录 然后我得到了错误 remote gt python manage py co
  • jQuery UI 可拖动并在拖动事件上添加类

    我正在尝试使用 jQuery UI 将一个类添加到可拖动事件 但是 我编写的以下代码未按预期工作 function ul sortable div draggable draggable start function event ui ui
  • 使用 JQuery Ajax 提交表单会导致多个请求(和提交)

    我遇到了 JQuery 表单提交问题 并且在任何地方都找不到答案 如果有人能够阐明这一点 我们将不胜感激 问题 我第一次提交表单时 效果很好 但如果我第二次提交相同的表单 它会发送 2 个请求 第三次会发送 3 个请求 依此类推 Scrip