2009-07-30 22 views
4

私はajaxログインフォームを作っています。ユーザーが間違ったパスワードでログインすると、login.phpは "Incorrect password"を返します。しかし、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

「データ」が返されていることを示すアラート()を試しましたか? – Jason

+1

ああ私の神Imそのようなばかだ。 #login_callback {display:none;} –

答えて

9

$.postの代わりに$.ajaxを使用するように変更するには、$.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応答を返すというのが私の理論に基づいています。しかし、ちょうど馬鹿。

+14

+1アラート( "O NOES"); – Jason

関連する問題