加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 18:46:59 所属栏目:百科 来源:网络整理
导读:代码: for(var j=0;j24;j++){ (jQuery).getJSON('log_analyze.php',{r:Math.random(),logid:logid,op:2,j:j},function(data){ if(data.success_agent){ var width=j*10; $("#up_time_loading").empty().append("div style="width:"+width+"px;height:10px;

代码:

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

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




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

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

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


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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读