jquery ajax 同步异步的执行

jquery ajax 同步异步的执行

http://www.cnblogs.com/wlmemail/archive/2010/06/22/1762765.html

 

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

 

function getAjaxReturn()   
{
    var bol=false;
	$.ajax({
		type:"POST",
		async:false,
		data:"username="+vusername.value,
		success:function(msg){
		if(msg=="ok"){   
			showtipex(vusername.id,"<img src='images/ok.gif'/><b><font color='#ffff00'>该用户名可以使用</font></b>",false)
			// return true;
			bol=true;
		}else {    
			showtipex(vusername.id,"<img src='images/cancel.gif'/><b><font color='#ffff00'>该用户已被注册</font></b>",false);
			vusername.className="bigwrong";
		   //return false;
		}
    }
  });
  return bol;
}


2、 通过传入一个函数解决这个问题。

  function getAjaxReturn(success_function,fail_function)
{
    var bol=false;
	$.ajax({
		type:"POST",
		data:"username="+vusername.value,
		success:function(msg){
		if(msg=="ok"){   
			alert('ok');
			success_function(msg);
		}
		else{    
			alert('ok');
			fail_function(msg);
		  //return false;
		}
	}
  });
	function success_function(info)
	{
	//do what you want do
	alert(info);
	}
	funciont fail_function(info)
	{
	//do what you  want do
	alert(info);
	}
}


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值