$.ajax同步/异步(async:false/true)

前端之家收集整理的这篇文章主要介绍了$.ajax同步/异步(async:false/true)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

虽然说ajax用来执行异步请求的比较多,但有时还是存在需要同步执行的情况的。

比如:我需要通过ajax取执行请求以返回一个值,这个值在ajax后面是需要使用到的,这时就不能用异步请求了。这时候就需要使用到async这个属性了。

async:true,(默认),异步方式,$.Ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.Ajax里的success方法,这时候执行的是两个线程。

async:false,同步方式,所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。


例如:

[html] view plain copy
  1. vartemp;
  2. $.ajax({
  3. async:false,
  4. type:"POST",
  5. url:defaultPostData.url,0);background-color:inherit;">dataType:'json',0);background-color:inherit;">success:function(data){
  6. temp=data;
  7. }
  8. });
  9. alert(temp);

这个ajax请求为同步请求,在没有返回值之前,alert(temp)是不会执行的。

如果async设置为:true,则不会等待ajax请求返回的结果,会直接执行ajax后面的语句:alert(temp);

猜你在找的Ajax相关文章