当前位置: 代码迷 >> J2EE >> jquery ajax异步数据有关问题
  详细解决方案

jquery ajax异步数据有关问题

热度:18   发布时间:2016-04-22 00:44:06.0
jquery ajax异步数据问题
$.each(json,function(i,n){
  var url="";
  $.getJSON(url,function(json){
  $.each(json,function(i,n){});
  .........
  });
  //
});

如何确保只有当GETJSON()执行完了以后,each在执行下一次的循环呀。(不这样数据出错)
在//里面写sleep()什么的也没有用,异步处理呀,望高手解决。

------解决方案--------------------
没办法 只能改为同步的,不然你是不能阻止each的运行的
------解决方案--------------------
类似下面这种递归应该 可以解决

Java code
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也执行完之后 再执行,所以不会存在你说的哪种问题       });    }}
  相关解决方案