2009-07-30 90 views
4

Im製作ajax登錄表單。當用戶使用錯誤的密碼登錄時,login.php將返回「不正確的密碼」。但是,JavaScript似乎並沒有採用它。jQuery Ajax - 回調

$('#login_btn').click(function(){ 
      var username = $('#login_username').val(); 
      var password = $('#login_password').val(); 
      $.post("login.php", { username: username, password: password }, 
       function(data){ 
        if(data == 'Incorrect password'){ 
         $('#login_callback').html(data);  
        } 
        else{ 
         $('#login').html(data); 
        } 
       } 
      );      

     }); 

我可以很好地登錄,但它只是當它的密碼錯誤。

+1

您是否嘗試過顯示「數據」返回的alert()? – Jason 2009-07-30 00:08:28

+1

哦,我的天啊,我真是個白癡。我剛剛檢查了我的樣式表... #login_callback {display:none;} – 2009-07-30 00:39:11

回答

9

嘗試更改您的請求以使用$.ajax而不是$.post,因爲$.post默默地失敗。

$.ajax({ 
    type: "POST", 
    url: "login.php", 
    dataType: 'text', 
    data: { username: username, password: password }, 
    success: function(data) { 
    if(data == 'Incorrect password'){ 
     $('#login_callback').html(data);   
    } 
    else{ 
     $('#login').html(data); 
    } 
    }, 
    error: function(msg) { 
    alert("O NOES"); 
    } 
}); 

這是基於我的理論,login.php在失敗時返回非200響應。只是一個預感。