我有以下代码来验证密码匹配和电子邮件存在ajax调用。 返回false后代码继续执行。如果没有电子邮件ID,则emailexist函数返回0,如果存在电子邮件ID,则返回1。
表格提交
<form action="/home" method="post" onsubmit="return validateform();">
function validateemail(){
var email_id = $("#email").val();
if(email_id)
{
$.ajax({
type: 'post',
url: '/emailexist',
data: {
email:email_id,
},
success: function (response) {
if(response== 1)
{
$("#email_status").html("email already exist");
return false;
}
else if(response == 0){
return true;
}
}
});
}
function validatepassword()
{
var pass = $("#password").val();
var cofirmpass = $("#confirmpassword").val();
if(pass != cofirmpass)
{
alert("password does not match!");
return false;
}
else{
return true;
}
}
function validateform()
{
if(validatepassword() && validateemail() )
{
return true;
}
else
{
return false;
}``
}
</script>`
答案 0 :(得分:0)
这是因为ajax
和call back function
!
javascript是一种异步语言,并且逐行执行。但是当你传递一个函数作为参数也称为回调函数时,它会在返回值来自服务器之后执行。
当从服务器接收数据时,这是在ajax中的方式,执行成功块。