最近在做毕业项目,注册表单里用$.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的执行顺序并不全部是根据代码顺序来的。但这样解释似乎也不对,烦请大神指点一二。谢谢先。
时间: 2024-11-05 18:40:21