jQuery 异步和同步请求

  在jQuery Ajax里面有一个async 参数 , 默认值 为true , 请求为异步请求 , false 为同步请求 ..

  使用ajax加载数据返回页面并赋值,然后前端取出该值

这其中涉及到代码的顺序问题,有时后台还未返回数据 (好比某个同学些的代码很烂,执行时间十几秒),但已执行后面代码,

所以就会造成取不到值 , 这个就是异步请求, 他不管你有没有返回,都继续执行下去...

  如果AJAX未返回值,则会一直在等待返回值才执行下面的代码,这叫同步请求 , 缺点是浏览器会卡住...

如果不想用同步请求,解决办法是设置AJAX  的 timeout 超时时间,然后再重复请求

用代码理解下异步请求 

alert("setp 1");  
$.ajax({  
      url: "admin.php",  
      async: true,  
      success: function(data){  
          alert("异步请求"); // 1 
      }  
});  
alert("setp 2"); //2  

首先执行 selp 1 然后执行AJAX URL请求....中->未返回值,他不会一直等待下去 ,会执行 selp 2 

用代码理解下同步求情

alert("setp 1");  
$.ajax({  
      url: "admin.php",  
      async: true,  
      success: function(data){  
          alert("同步求情"); // 1 
      }  
});  
alert("setp 2"); //2  

首先执行 selp 1 然后执行AJAX 请求....中->未返回值 , 则会一直等待....浏览器卡住了,,, 直到返回值才会执行 selp 2 .

 

posted @ 2017-12-28 22:28  freedom/cn  阅读(12532)  评论(0编辑  收藏  举报