我需要等到我所有的ajax函数都完成后,再继续执行。

我的特殊情况是,在提交表单之前,我需要翻译表单中的某些字段。我通过ajax调用将其转换为外部站点。根据表单中的某些值,我需要进行更多或更少的翻译。完成所有翻译后(如果有),我必须使用ajax验证表单,如果表单有效,则提交。

这是我的方法:

首先,我有一个函数发送ajax调用并对接收到的数据进行处理:

function translate(...) {

$("#ajaxCounter").val(parseInt($("#ajaxCounter").val()) + 1);

$.ajax({

...

success:function(data) {

...

$("#ajacCounter").val(parseInt($("#ajaxCounter").val()) - 1);

}

});

然后,当要提交表单时,我将执行以下代码:

$("#form").submit(function() {

translatable_fields.each(function() {

translate(...);

});

while (parseInt($("#ajaxCounter").val()) > 0) { null; }

if (!(this).hasClass('ready')) {

$.ajax({

//validation

success: function(data) {

if (data['isValid']) {

$("#form").addClass('ready');

$("#form").submit();

}

}

});

}

return true;

});

问题在于whilesubmit函数中的循环永远不会结束。

如果我执行的代码没有while循环,我可以看到ajaxCounter输入在转换函数开始时增加而在转换函数结束时减少。

ajax 等待,等待所有的ajax请求都完成相关推荐

  1. tomcat项目的ajax路径问题,Tomcat下ajax请求路径总结

    ajax的url有两种,一种是绝对路径,另一种是相对路径. 一.绝对路径:包括协议名称.主机地址.端口.web项目名称等的完整请求路径. 例如: $.ajax({ url:"http://l ...

  2. vue工程全局设置ajax的等待动效

    最近在做vue的项目,使用了element-ui作为ui组件库,采用vuex进行状态管理,与后台的请求交互采用axios库实现,原本做的页面,ajax请求个数也只有三个,将等待动画的显示和隐藏通过mu ...

  3. ajax send报错,jquery ajax beforeSend 提交等待问题

    需要使用异步加载async : true 否则不会出现等待效果 $.ajax({ url : $('#form').attr("action"), data: $('#form') ...

  4. ajax dojo deferred,dojo(四):ajax请求

    储备知识 1.在介绍新版本的ajax请求之前,需要先了解一些dojo/Deferreds. 初次听到"Deferred"这个概念,可能会觉得这是一个神秘的东西.实际上它在执行异步操 ...

  5. Ajax学习系列——向服务器发送请求

    1.如何发送请求? 如果需要向服务器发送请求,我们使用的是XMLHttpRequest对象中的open()和send()方法. var xhr = new XMLHttpRequest();//具体创 ...

  6. 理解ajax技术,封装原生 ajax请求

    一.Ajax 概述 Ajax 是 Asynchronous Javascript And XML 的简写 Ajax是一门技术,并不是一门语言 使用XHTML+CSS来标准化呈现 使用XML和XSLT进 ...

  7. 掌握 Ajax,第 7 部分: 在请求和响应中使用 XML

    了解什么时候适合什么时候不适合使用 XML 文档选项 打印本页 打印本页 将此页作为电子邮件发送 将此页作为电子邮件发送 级别: 中级 Brett McLaughlin (brett@oreilly. ...

  8. python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页)...

    python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页) 一.ajax登录示例 新建项目login_ajax 修改urls.py,增加路径 fro ...

  9. ajax ashx调试,asp.net——Ajax与ashx异步请求的简单案例

    Ajax与ashx异步请求的简单案例: 前台页面(aspx): function gettext() { var intxt = $("#intxt").val(); $.ajax ...

  10. 创建线程的几种方式?JSP的九大内置对象及作用分别是什么?servlet的生命周期及常用方法?转发和重定向区别?ajax书写方式及内部主要参数都有哪些

    文章目录 1 , 创建线程的几种方式? 问题扩展: 2 ,JSP的九大内置对象及作用分别是什么? (1) 问题分析: (2) 核心答案讲解: 1.request对象 2.response对象 3.se ...

最新文章

  1. 安卓应用如何引用动态库
  2. java基础---File类
  3. 前端学习(501):水平居中布局得第二种方式的优缺点
  4. 【CodeForces - 985D】Sand Fortress (二分,贪心,思维构造,技巧,有坑)
  5. 转:数字对讲机常识介绍
  6. Eclipse创建springboot项目的方式
  7. [记录]明天开始东软实训
  8. 数据集永久下架,微软不是第一个,MIT 也不是最后一个
  9. 微信支付curl: (60) SSL certificate problem: unable to get local issuer certificate 解决方法
  10. Winform基于UnityWebplayer封装用户控件以实现.unity3d文件相对路径(动态src)
  11. DevKitPro(GBA),MakeFile文件大概分析(编译)
  12. macOS Monterey 12.0 Beta5 (21A5304g) 虚拟机 ISO 镜像
  13. c语言字符串转为大写,c语言 字符串转大写的简单实例
  14. 自定义View实践:指南针的实现
  15. C# 消息盒子 右下角显示窗体
  16. 【大数据实战】苏宁大数据离线任务开发调度平台实践:设计与开发过程中的要点
  17. iOS socket编程(入门)
  18. 从ftp下载文件(word)到本地显示文件损坏或错误
  19. 【雷达与对抗】【2016】76-81GHz平面天线在汽车雷达中的开发与应用
  20. pytho自动发送微信消息

热门文章

  1. 30年时间让科技与人对话,什么是机器人语音识别原理
  2. mysqli_fetch_assoc()和mysqli_fetch_array()的区别与用法
  3. 快递是否签收,分享小技巧查询物流查看已签收件
  4. 直播间实时在线人数方案
  5. 【英语学习】【WOTD】hamartia 释义/词源/示例
  6. 使用photoshop对图片像素级的标注
  7. css中vh和wh用法
  8. 同花顺程序交易接口实现类
  9. #运算符 ##预算符
  10. 易语言字符代码表(键盘)