2014-01-16 47 views
3

我使用AJAX調用一個PHP文件,進行電子郵件驗證並輸出返回AJAX成功的簡單文本。我正在使用返回的文本創建變量來表示要顯示哪個錯誤。我無法使用這些變量,表單仍然提交。我可能做錯了什麼?使用jquery和AJAX

我的代碼:

if (email != 0) { 
// Run AJAX email validation and check to see if the email is already taken 
$.ajax({ 
    type: "POST", 
    url: "checkemail.php", 
    data: dataString, 
    success: function(data) { 
     if (data == 'invalid') { 
      var invalid= 1; 
     } 
     else if (data == 'taken') { 
     var taken= 1; 
     } 
    } 
}); 
} 

if (invalid == 1) { 
    alert('invalid email'); 
error= true; 
} 

if (taken == 1) { 
    alert('email taken'); 
error= true; 
} 

if (error == true) { 
    return false; 
} 

回答

1

是一個點擊事件這裏面AJAX調用?如果是的話,你可能要使用event.preventDefault()函數來避免觸發表單提交:

event.preventDefault(); 

,看一下例子在documentation

0

你應該有兩點考慮:
1)如果你是ajax通話是由鏈接或提交按鈕觸發的,你必須使用preventDefault函數
2)在你的「checkmail.php」中不要忘記在通話結束時調用退出函數