function checkUsername(username)
{
var check = username.match(/^[a-zA-Z0-9_-]{6,16}$/);
var ret;
if(check)
{
$.ajax({
url: '<?php echo base_url('login/ajaxUsernameExist')?>',
type:'post',
data:"username = " + username,
dataType:'json',
success:function(data){
ret = parseInt(data.result);
},
error:function(data)
{
ret = 3;
}
});
return ret;
}
else
{
return 1;
}
}
代码如上所示,发现当分支进入ajax中的时候,会出现ret是undefined,请问在$.ajax中对ret赋值没有效果是什么原因?
在 $.ajax({ 里面增加 async:false 变成同步,你的 return 就有效了