文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>ajax的同步 异步 jquery同步...

ajax的同步 异步 jquery同步...

时间:2010-08-11  来源:willielee

同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

看下边的js  function

function ajaxTest(){

var loginId="will";

var url="queryUserByLoginId.do"

//ajax 代码

var data;

 $.ajax({
 type: "POST",
 url: url,
 data:{loginId:loginId},
 success: function(msg){ 

  alert("msg: " +msg);

   data=msg;
 },
  error: function(XMLHttpRequest, textStatus, thrownError){    
   return;
  }                  
 });

alert("last");

return data;

}

如果其它函数调用这个函数的时候我们会发现先alert("last");之后再 alert("msg: " +msg);
不是顺序执行的,这是因为jquery ajax默认的是异步的不等ajax执行完就继续执行其余代码

这样的话返回值打他可能永远就是空,因为还没等ajax调用的后台完成,就已经返回data了。

那么如果我们想按顺序执行怎么办,这需要发送同步请求,

请添加async:false。添加async:false.即修改为同步了,什么意思?(按同事解释就是,这是等这个ajax有了返回值后才会执行下面的js。一语道破天机,怪不得以前很多ajax调用里面的赋值都不起作用)。这样等ajax给bol赋值完毕后,才执行下面的js部分。而刚刚异步的话,还没有来得及赋值,就已经return了。

注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载