遇到一个很好地问题
在进行ajax异步进行邮箱是否存在时的出的错,
var reg = /^[-._A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
if(email==null||email==""){
$(".email-nonull").css("display","inline");
flag=1;
}else if(email.length>45){
$(".email-maxlength").css("display","inline");
flag=1;
}else if(!reg.test(email)){
$(".email-style").css("display","inline");
flag=1;
}else{
//ajax验证邮箱是否已经申请过
$.ajax({ //具体使用百度去吧
url : "<%=basePath%>appk/appk-register!emailToExist.action",
type : "post",
data : {email:$("#email").val()},
dataType:"text",
success:function(data){
//执行成功之后
// alert(data);
if(data=="fail"){
$(".email-exist").css("display","inline");
flag=1;
}
if(flag==0){
$("#showForm").submit();
}
},
error:function(){
//这个是出错处理 ,具体使用可以到这看看
alert("出错了");
}
});
}
这是自己修改过的
之前是if(flag==0){
$("#showForm").submit();
}这个判断不在ajax的success中,导致可能ajax去后台还没有得到值,submit就已经提交了,
导致出错,因为是两个线程,ajax线程必须先执行完,才能submit。就不会报错了