最近在做畢業項目,注冊表單里用$.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的執行順序並不全部是根據代碼順序來的。但這樣解釋似乎也不對,煩請大神指點一二。謝謝先。