jquery ajax异步数据问题
$.each(json,function(i,n){
var url="";
$.getJSON(url,function(json){
$.each(json,function(i,n){});
.........
});
//
});
如何确保只有当GETJSON()执行完了以后,each在执行下一次的循环呀。(不这样数据出错)
在//里面写sleep()什么的也没有用,异步处理呀,望高手解决。
[解决办法]
没办法 只能改为同步的,不然你是不能阻止each的运行的
[解决办法]
类似下面这种递归应该 可以解决
var json = ['1' , '2' , '3'];function each(outjson){ if(outjson.length > 0 ){ var val = outjson.shift(); //移除一个元素,并返回 var url=""; $.getJSON(url,function(innerjson){ $.each(innerjson,function(i,n){ }); //循环完毕后,进入下一次递归 each(outjson); //因为这一行代码 是在里面的getJSON方法执行完,并且each也执行完之后 再执行,所以不会存在你说的哪种问题 }); }}