Jquery ajax同步调用
165 views
0 Comments1.先看一下我的代码
function checkUsername(){
var c_username = $(”input[@name='c_username']“).val();
if(c_username == ”){
//$(”input[@name='c_username']“).focus();
$(”#tip_c_username”).html(’<!–{$lang.account_error_username}–>’);
$(”#tip_c_username”).addClass(’redtip’);
return 0;
}
var unlen = $.trim(c_username).length;
if(unlen < 4 || unlen > 12){
//$(”input[@name='c_username']“).focus();
$(”#tip_c_username”).html(’<!–{$lang.account_error_username_len}–>’);
$(”#tip_c_username”).addClass(’redtip’);
return 0;
}
var ajax_ret = 0;
$.ajax({
type: “POST”,
url: ‘account_opt.php’,
data: “act=checkUsername&c_username=”+c_username,
success: function(msg){
if(msg == 0){
$(”#tip_c_username”).html(’<img src=”images/yes.jpg” width=”18″ height=”16″ />’);
ajax_ret = 1;
}else{
$(”#tip_c_username”).html(’ Desculpe , esse nome de usuário já foi usado !’);
$(”#tip_c_username”).addClass(’redtip’);
ajax_ret = 0;
}
}
});
return ajax_ret;
}
调用checkUsername方法的返回值是0,尽管在success function 里边对ajax_ret 已经修改为1了。
原因默认的Jquery ajax是按异部调用的,因此方法添加一条参数“async:false”问题便解决。
function checkUsername(){
var c_username = $(”input[@name='c_username']“).val();
if(c_username == [...]

