最近在做毕业项目,注册表单里用$.ajax提交数据给服务器端php检查账号是否已经注册过,success时函数的返回值为什么总是undefined?
 var reg_mail = $.trim($("#reg_mail").val()).toLowerCase(); //注册邮箱获取
    var reg = /^[a-z0-9]+[@][a-z0-9]+[.][a-z0-9]+$/; //设置邮箱匹配正则
    if(reg.test(reg_mail)){  //如果邮箱符合规范就提交服务器进行校对
        $("#reg_mail").parent().find(".err_tip").html("");
        $("#reg_mail").parent().find(".succ_tip").html("邮箱格式正确");
        $.ajax({ //检查用户名存不存在
                type:‘post‘,
                url:‘php/reg_check.php‘, //服务器端的php文件,用于校验账号是否已经存在
                data:{umail:reg_mail}, //提交邮箱给php文件
                success:function(data){
                    if(data.code==0){  //如果邮箱已经存在就返回code为0
                        $("#reg_mail").parent().find(".succ_tip").html("");
                        return false;  /* 不明白为什么这里return回来的总是undefined*/
                    }else{
                        $("#reg_mail").parent().find(".err_tip").html("");
                        $("#reg_mail").parent().find(".succ_tip").html(data.msg);
                        return true; /* 不明白为什么这里return回来的总是undefined*/
}
},
error:function(data){flag=false; return false; }
}
)
}
else{
$("#reg_mail").parent().find(".succ_tip").html("");
$("#reg_mail").focus().parent().find(".err_tip").html("邮箱格式不正确,请重新输入");
return false;
}
}
我自己百度了一下,有的说是ajax的执行顺序并不全部是根据代码顺序来的。但这样解释似乎也不对,烦请大神指点一二。谢谢先。
ajax success回调函数里return undefined的原因?
原文:http://www.cnblogs.com/Jerry1985/p/5966148.html