等待 AJAX 调用 (POST) 完成

2023-12-28

我正在使用 jQuery UI 选项卡,其中每个选项卡都有不同的表单。用户输入各种数据后,他们提交整组选项卡,以便每个选项卡异步发布到服务器。这运作良好,我在这里没有任何问题。

然而,我遇到的问题是,我发布的最后一个表单必须在所有其他帖子完成后才发生。总体思路是这样的:

postForm(0, "#Form1");
postForm(1, "#Form2");
postForm(2, "#Form3");
postForm(3, "#Form4");
$.post('Project/SaveProject', function (data) {
    $('<div class="save-alert">The current project has been saved.</div>')
    .insertAfter($('#tabs'))
    .fadeIn('slow')
    .animate({ opacity: 1.0 }, 3000)
    .fadeOut('slow', function () {
        $(this).remove();
    });
});

postForm 函数进行一些处理,然后进行 AJAX $.post 调用。此处执行的最后一个 $.post(至“Project/SaveProject”)必须等待其他帖子完成。这样做的最佳方法是什么?


你可以只使用.ajaxStop() http://api.jquery.com/ajaxStop/当所有其他 AJAX POST 完成时触发的事件,假设您没有执行其他 AJAX 工作,如下所示:

postForm(0, "#Form1");
postForm(1, "#Form2");
postForm(2, "#Form3");
postForm(3, "#Form4");
$(document).ajaxStop(function() {
  $.post('Project/SaveProject', function (data) {
    $('<div class="save-alert">The current project has been saved.</div>')
    .insertAfter($('#tabs'))
    .fadeIn('slow')
    .animate({ opacity: 1.0 }, 3000)
    .fadeOut('slow', function () {
      $(this).remove();
    });
  });
  $(this).unbind('ajaxStop');
});

.ajaxStop() http://api.jquery.com/ajaxStop/all正在运行的 AJAX 请求已完成,因此仅在以下情况下才会触发all这些 POST 已返回,jQuery 在内部保留计数($.active, $.ajax.active在 jQuery 1.5 中)来确定有多少个并发 AJAX 请求未完成...当它回到 0 时,此事件将触发。

这种方法可以让您同时提交其他表单,然后尽快提交最终表单。

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

等待 AJAX 调用 (POST) 完成 的相关文章

  • JQuery 菜单图标 RTL

    我正在尝试在阿拉伯语 RTL 页面中使用 jQuery 菜单 我可以将其设为 RTL 但图标应该是ui icon carat 1 w not ui icon carat 1 e 我创建jsfiddle在这里 http jsfiddle ne
  • WordPress 子主题包括包含文件

    我在一家WordPress使用 AMPPS 作为本地主机在我的本地计算机上进行设置 使用 Delta 主题 我创建了一个子主题 delta2 child 初始设置效果很好 但是 我需要更改包含文件夹中名为 home slider php 的
  • Google Apps 脚本中 $.ajax() 的服务器端等效项是什么?

    我想在 Google App 脚本中从服务器端代码执行 HTTP 请求Authorization标头 是否有用于发送 HTTP 请求的 App Script API Google Apps 脚本中的这段代码相当于什么 var api URL
  • 将网站加载到 DIV 中

    当我在文本框中写入 URL 然后单击提交按钮时 如何实际从网站检索数据 我希望将数据放入我拥有的 div 中 这可能吗 我已经尝试过这个 但它不起作用
  • 如果 POST 响应仅包含 ID,如何将数据保存到我的 Ember 存储?

    Ember 数据期望我的服务器在每次成功后返回完整的对象POST 但是 我的 API 只返回一种元对象 其中包含id 当 Ember 收到此对象时 记录中的现有数据将被删除 除了id 例如 当我这样做时 var asset App Asse
  • 将引导程序弹出框保留在视口内

    我正在尝试使用带有按钮的侧边栏创建一个菜单 每个按钮都有一个指定的包含相关数据的弹出窗口 不幸的是 其中一个弹出窗口可能包含任意数量的行 并且在某些情况下它可能部分位于视口之外 See http jsfiddle net bfd9f 1 h
  • 使用路径id获取SVG路径d属性

    我有单独的 json 包含 SVG 路径 Id 有没有办法使用路径 id 获取 SVG 路径 d 属性 或者有没有办法只使用路径 ID 来填充 SVG 路径 您可以通过调用 document getElementById 来获取路径元素 然
  • jquery mobile pageContainer问题

    如果我正确阅读以下文档 http jquerymobile com demos 1 1 0 docs api methods html http jquerymobile com demos 1 1 0 docs api methods h
  • 如何在 AngularJS 中滚动到页面顶部?

    我想在使用 angularjs 获得 ajax 调用响应后滚动到页面顶部 基本上 我在页面顶部显示警报消息 并且希望在收到 ajax 响应时将警报消息集中显示 Thanks 您可以使用 window scrollTo x y where x
  • 将 Json 数据返回给 Ajax 调用

    我在 MVC 中有一个方法 我将其发布到它 并且我需要返回一些数据以进行处理 这是我发布到的 MVC 方法 返回值是 json 数据 HttpPost public JsonResult GetCalculateAmortizationSc
  • 刷新页面后保留输入值

    我有一个带有输入字段的表单 该输入包含一个下拉菜单 从数据库中读取信息 如果用户输入值 并且当他到达下拉菜单时 他没有找到他想要的内容 他会转到另一个页面将此信息添加到下拉菜单 然后转到第一页继续输入信息 如果他转到另一个页面向下拉菜单添加
  • 使用 jquery 更改锚文本和图标

    我有一个隐藏或显示 div 的锚标记 但我无法更改它的文本和图标 如何更改文本和图标标签 因为目前它将图标标签解析为常规文本 锚标记 a class collapse info btn i class icon arrow up icon
  • 使用淘汰赛动态显示/隐藏元素

    我有一个表 有四列 即代码 名称 数量和价格 其中 我想动态更改数量列的内容 元素 通常 它应该显示其中显示数量的元素 当用户单击元素时 我想显示该元素 以便用户可以编辑数量 我正在尝试按照 示例2 来实现淘汰赛文档链接 http knoc
  • Firefox 上的 jquery 焦点未设置

    我想将焦点设置到我的文本区域 以下是我的代码 this textInput val show focus 但它不起作用 实际上 当我按下鼠标按钮时 它会出现 但是当我松开鼠标时 它会从文本区域中删除 因此 经过大量搜索后 我发现 setTi
  • FullCalendar:如何重新创建/重新初始化 FullCalendar 或批量添加多个事件

    我正在尝试将新事件批量添加到日历中 但未能找到方便的使用方法 所以我决定用新的事件数组重新初始化视图 所以我尝试了以下方法 var events title Event start new Date y m d 10 description
  • Dojo“正在加载”消息

    我是 Dojo 新手 所以我需要一些帮助 我的一些链接需要一段时间 当用户单击时 页面开始加载需要几秒钟 我想添加一条 正在加载 消息 我可以用 旧时尚方式 来做 但我想学习新的 更简单 更智能的 Dojo 方式 具体如何工作现在并不重要
  • 在选择 tr 来覆盖父 div 上的第 n 个子类时,如何使用 jquery addClass ?

    我用它来选择一个 tr 当单击它来更改 tr 的颜色时 tr click function this addClass selected siblings removeClass selected 参见小提琴http jsfiddle ne
  • 如何更改数据表中标题单元格的内容?

    我正在使用数据表 http datatables net plugin 在我的可排序列上 我想用按钮替换列文本 但是这样做 oSettings aoColumns i nTh text 我可以检索相应列的文本 但是 oSettings ao
  • 从“class”名称中删除/替换不需要的前缀信息

    我正进入 状态style从后端 它带有不需要的前缀 我会替换没有前缀的相同内容 正确的方法是什么 这就是我得到的
  • 将 JSON 发送到 Spring MVC 控制器

    我正在尝试将 JSON 发送到 Spring MVC 控制器 在 Spring MVC 方面 一切都配置正确 下面是代码 但似乎没有运行

随机推荐

  • 使用notepad++执行命令

    如何使用 Notepad 中的运行命令指定要处理的实际文件 例如 我想使用实际文件作为输入或 cs 编译器等运行 pdflatex 使用整个路径是不切实际的 它必须适用于任何实际文件 您可以使用执行字符串中的变量自动添加当前文件 C tem
  • require.js 的替代方式是 require?

    require js 的新功能 我有这个 define jquery underscore backbone views sidebar views dashboard views users views venues views paym
  • 如何确定与 PHP 中的 MIME 类型关联的扩展名?

    我可以使用 MIME 类型到 PHP 扩展的快速而肮脏的映射吗 不是内置的 但自己推出并不难 function system extension mime types Returns the system MIME type mapping
  • 在 32 位应用程序中使用 64 位整数可以吗?

    我注意到在 C 和 C 中 我们可以使用int64 t 或者只是一个long long 如果我编译32位代码使用这些类型 我会遇到任何性能问题吗64bit and or 32位机器 除了节省一些内存之外 我还有理由只使用int 毕竟 64
  • Postgresql 的函数

    在这个网站上我看到了一个函数 我想将其与 postgresql 一起使用 https raresql com 2013 05 16 sql server excel financial functions pmt https raresql
  • Angular 12 库源映射不可用

    升级到 Angular 12 后 自定义 Angular 库组件的源映射不再可用于调试 这是一部分angular json来自使用该库的 Angular 应用程序模块 projects myapp build configurations
  • 使用 POST 而不是 GET 的 REST API

    假设某个服务提供了一些我可以像这样使用的功能 GET service function param1 value1 param2 value2 我可以将它与 POST 查询一起使用吗 POST service function param1
  • 如何在PyQt4中用动画画一条线

    我有一个要点清单 例如 points 160 75 115 567 How to draw a line in PyQt4 so it would be something like this 提前致谢 EDIT For the recor
  • Java 获取 java.lang.Number 或原语的通用子类的 valueOf

    在阅读了很多问题后 我问自己是否可以解决将字符串转换为通用数字而不使用硬编码方法的困境 例如 我从方法中获取类型为 Class 的参数 使用 Number isAssignableFrom 或其他方式我可以检查这是否是一个数字类 但我也从用
  • Lua忽略转义序列

    目前Lua有以下转义序列 a Bell b 退格键 f 换页 n 新队 r 回车 t Tab v 垂直制表符 反斜杠 双引号 单引号 nnn 八进制值 nnn 是 3 个八进制数字 xNN 十六进制值 Lua5 2 LuaJIT NN是两个
  • 使用元素自己的宽度分配左边距

    我想设置margin left元素宽度的负一半 这会获取文档的宽度 services backPanel gt div css margin top this height 2 margin left this width 2 我究竟做错了
  • WebBrowser-Control - 单击链接打开默认浏览器

    我在 WPF 应用程序中使用 WebBrowser Control 例如
  • React/Redux 架构中 API 调用应该放在哪里?

    我正在尝试从 API 检索一些数据并将其传递到我的应用程序中 然而 作为 React Redux 的新手 我想知道从哪里进行这些调用以及如何将其传递到我的应用程序中 我有标准的文件夹结构 组件 减速器 容器等 但我不确定现在将 API 调用
  • 导出 Web 项目

    我使用 java 页面和 eclipse 制作了一个 Web 应用程序 但我不知道如何导出它以供使用 我被要求提供一个 make 文件或其他东西 我还可以通过哪些其他方法从 eclipse 执行此操作 听起来您需要将其导出为 WAR 文件
  • 计算函数极限的最佳方法是什么?

    我计划开发一个应用程序 可以计算用户给出的表达式 函数 的极限 I already have a functional expression evaluator which will definitely come in handy My
  • 为什么 Pylint 认为在条件值中使用 len(SEQUENCE) 不正确?

    考虑这个代码片段 from os import walk files for dirpath filenames in walk mydir More code that modifies files if len files 0 lt C
  • 算术左移时间复杂度

    是什么时间复杂度of 算术左移 n 位操作数的算术右移 运算符 例如 x y 复杂度 用 O 表示法 是当输入大小变得越来越大时算法所花费的时间的渐近特征 对于只能接受有限数量输入的算法来说毫无意义 lt lt 可以采用 2 32 32 个
  • 仅倾斜前后的一侧以获得平箭头

    我创建了一些虚拟的面包屑步骤 第一个面包屑步骤需要在左侧有一个正常的平坦边框 这已完成 悬停时 我需要显示每个面包屑项目的黑色边框 但唯一的问题是悬停时 对于第一个面包屑步骤 我没有像预期的那样在左侧得到平坦的边框 以下是悬停时的预期结果
  • 如何让 Spotify 和其他 Android 音乐应用程序按意图搜索和播放?

    我想创建一个MEDIA PLAY FROM SEARCH https developer android com guide components intents common html PlaySearch 或其他 意图 将在任何主要 A
  • 等待 AJAX 调用 (POST) 完成

    我正在使用 jQuery UI 选项卡 其中每个选项卡都有不同的表单 用户输入各种数据后 他们提交整组选项卡 以便每个选项卡异步发布到服务器 这运作良好 我在这里没有任何问题 然而 我遇到的问题是 我发布的最后一个表单必须在所有其他帖子完成