2014-02-19 15 views
0

我想驗證電子郵件,這裏有什麼問題。 返回false不工作得到ajax裏面存在的變量的值

$.validator.addMethod("email_exist", function(value, element, arg){ 
    var x = 0; 
    $.ajax({ 
     url: '../signup/validateemail.php', 
     type: 'post', 
     data: 'email_address='+value, 
     cache:false, 
     success: function(response) { 
      if(response == 0){ 
       x++; 
      } 
     } 
    }); 
    alert(x); 
    if(x > 0){ 
     return false; 
    }else{ 
     alert('yeh'); 
     return true; 
    } 
    return true; 
},''); 
+1

因爲AJAX是要求非同步燁 –

+0

,感謝名單花花公子 – SagarPPanchal

回答

1

它不會返回false,因爲ajax方法是異步的,它不會等待成功事件發生。你可以通過製作

async: false 

但它不是一個好方法。它會凍結瀏覽器以及

Refer this

1

你做asynk call.So在你的情況下,先在成功執行功能警報(x),則代碼。 您可以執行此請求synk(異步:false)或成功更改代碼