返回false后javascript执行继续

时间:2017-09-24 14:23:53

标签: javascript jquery ajax callback

我有以下代码来验证密码匹配和电子邮件存在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>`

1 个答案:

答案 0 :(得分:0)

这是因为ajaxcall back function

javascript是一种异步语言,并且逐行执行。但是当你传递一个函数作为参数也称为回调函数时,它会在返回值来自服务器之后执行。

当从服务器接收数据时,这是在ajax中的方式,执行成功块。