您的位置:首页 > Web前端 > JQuery

jquery ajax 同步异步的执行

2013-10-16 20:39 435 查看


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);
}
}


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: