我有以下函數,我用它來檢查電子郵件地址是否已經註冊。
checkTaken() {
var email_var = $('input#email').val();
$.post("../includes/check_email.inc.php",{email:email_var} ,function(data) {
var ret = data + "";
if(ret=="true") {//if username not avaiable
$('div#emailTaken').show();
$('input#email').addClass('redBack');
return false;
} else {
$('div#emailTaken').hide();
$('input#email').removeClass('redBack');
return true;
}
});
}
當我把它使用類似以下正常工作:
email.blur(checkTaken);
但是,當我這樣做
var test1 = checkTaken();
或
if(chekTaken) {
一些古怪發生。它進入函數,執行$ .post行,但不會進入例程的其餘部分。爲什麼是這樣?我該如何解決它?
作爲一個說明,當我使用最後兩個示例調用函數時,我確實從服務器獲取信息爲seen through firebug。如果我爲test1添加手錶,它仍然未定義。
結果$ .ajax調用的參數是什麼?鍵入:「POST」,data:email_var,async:false,url:same?我在數據字段中出現錯誤,因爲它沒有發送值爲email_var的「email」變量。謝謝。 – David 2010-10-12 22:40:19
對於遇到同樣問題的參數是類型:「POST」,data:「email =」+ email_var(我的具體情況)async:false,success:function(returned_data){bla bla} – David 2010-10-13 02:09:24