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 .

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM