最近在作毕业项目,注册表单里用$.ajax提交数据给服务器端php检查帐号是否已经注册过,success时函数的返回值为何老是undefined?php
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的执行顺序并不所有是根据代码顺序来的。但这样解释彷佛也不对,烦请大神指点一二。谢谢先。