$.getJSON异步请求和同步请求

前端之家收集整理的这篇文章主要介绍了$.getJSON异步请求和同步请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

代码

for(var j=0;j<24;j++){@H_403_3@ (jQuery).getJSON('log_analyze.PHP',{r:Math.random(),logid:logid,op:2,j:j},function(data){@H_403_3@ if(data.success_agent){@H_403_3@ var width=j*10;@H_403_3@ $("#up_time_loading").empty().append("<div style=\"width:"+width+"px;height:10px;border:1px solid #333;background-color:#333\"></div>");@H_403_3@               }@H_403_3@  })@H_403_3@ }@H_403_3@

循环结束,发现结果没有规律 ,由于异步只执行的原因;

@H_403_3@
@H_403_3@

@H_403_3@

在执行之前加$.ajaxSettings.async = false; (同步执行)@H_403_3@

$.ajaxSettings.async = false;@H_403_3@ for(var j=0;j<24;j++){@H_403_3@ (jQuery).getJSON('log_analyze.PHP',function(data){@H_403_3@ if(data.success_agent){@H_403_3@ var width=j*10;@H_403_3@ $("#up_time_loading").empty().append("<div style=\"width:"+width+"px;height:10px;border:1px solid #333;background-color:#333\"></div>");@H_403_3@               }@H_403_3@  })@H_403_3@ }

在for循环之前加一个$.ajaxSettings.async = false; 表示同步执行,这样他就会安装顺序执行了。@H_403_3@

@H_403_3@

同时执行多个$.getJSON() 数据混乱的问题的解决

在执行之前加$.ajaxSettings.async = false; (同步执行) 执行你的代码之后及时恢复为$.ajaxSettings.async = true; (异步执行)

猜你在找的Json相关文章