惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
博客园 - 【当耐特】
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
大猫的无限游戏
大猫的无限游戏
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
Y
Y Combinator Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理

博客园 - 狂歌

关闭easyui Tabs,有意思的JS异步处理 vscode新版1.31.1使用代码检查工具ESlint支持VUE Easyui combotree 获取自定义ID属性方法 [原创]消灭eclipse中运行启动的错误:“找不到或无法加载主类”问题 [转]【Java】内部类(Inner Class)如何创建(new) spring boot项目编译出来的jar包如何更改端口号 [转] 分享一个快的飞起的maven的settings.xml文件 [转]maven打包报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test mysql字符集问题 错误代码: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_croatian_ci,IMPLICIT) for operation '=' WebApi 返值的实体值前缀加了个下划线 VS2015 异常 :遇到异常。这可能是由某个扩展导致的 【转】WebAPI使用多个xml文件生成帮助文档 ASP.Net WebAPI中添加helppage帮助页面 C# List泛型转换,int,string 转字符,转数组 iBatisNet分布式事务的应用 MS SQL2008。 jquery.easyui.tabs 中的首个tabs被最后tabs覆盖的问题解决方法 php网站环境无法上传的解决办法? 提高VM运行速度 [转]SQL2005系统升级手记之一-解决sa帐户被锁定
解决easyui jQuery JS的for循环调用ajax异步问题
狂歌 · 2014-07-04 · via 博客园 - 狂歌

由于JS的for循环与ajax非同步运行,因此导致for循环结束了而ajax却还未执行,解决此方法有两种

1、设置ajax参数async为false,即与js同步,默认是true(异步).

这里首先引用$.Ajax()中 async 和success的官方的解释:

async Boolean Default: true
By default, all requests are sent asynchronous (e.g. this is set to true by default). If you need synchronous requests, set this option to false. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.

代码示例:

for(int i=0;i<x;i++){

var html = $.ajax({
url: "some.php",
async: false
}).responseText;

}

2.采用递归循环的方法解决此问题

function func(times){
if(times <= 0){
return;
}

$.get(url,data,function(){

times --;
func(times); //递归调用
});
}

func(5);