jQuery ajax return语句…

来源:互联网 发布:淘宝网抢拍软件付费 编辑:程序博客网 时间:2024/04/19 20:20

最后解决方案有2,如下

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

代码: 
Copy to Clipboard引用的内容:[www.veryhuo.com]
function getAjaxReturn() 
{ 
var bol=false; 
$.ajax({ 
type:"POST", 
async:false, 
url:"ajax/userexist.aspx", 
data:"username="+vusername.value, 
success:function(msg){ 
if(msg=="ok"){ 
showtipex(vusername.id,"<imgsrc='images/ok.gif'/><b><fontcolor='#ffff00'>该用户名可以使用</font></b>",false)
// return true; 
bol=true; 
} 
else 
{ 
showtipex(vusername.id,"<imgsrc='images/cancel.gif'/><b><fontcolor='#ffff00'>该用户已被注册</font></b>",false);
vusername.className="bigwrong"; 
//return false; 
} 
} 
}); 
return bol; 
}


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

代码: 
Copy to Clipboard引用的内容:[www.veryhuo.com]
function getAjaxReturn(success_function,fail_function) 
{ 
var bol=false; 
$.ajax({ 
type:"POST", 
url:"ajax/userexist.aspx", 
data:"username="+vusername.value, 
success:function(msg){ 
if(msg=="ok"){ 
showtipex(vusername.id,"<imgsrc='images/ok.gif'/><b><fontcolor='#ffff00'>该用户名可以使用</font></b>",false)
success_function(msg); 
} 
else 
{ 
showtipex(vusername.id,"<imgsrc='images/cancel.gif'/><b><fontcolor='#ffff00'>该用户已被注册</font></b>",false);
vusername.className="bigwrong"; 
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); 
}按需选择自己需要的方案吧。一般大网站都采用第2种传入函数的方式,来处理成功和失败情况下的页面提示。

文章源自:烈火网,原文:http://www.veryhuo.com/a/view/12383.html

0 0
原创粉丝点击