2009-07-30 88 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响应。只是一个预感。