2009-07-30 10 views
4

Je crée un formulaire de connexion ajax. Lorsqu'un utilisateur se connecte avec un mot de passe incorrect, login.php renvoie "Mot de passe incorrect". Mais javascript ne semble pas le ramasser.jQuery Ajax - rappel

$('#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); 
        } 
       } 
      );      

     }); 

Je peux me connecter correctement, mais c'est juste quand c'est le mauvais mot de passe.

+1

Avez-vous essayé une alerte() qui montre ce que "données" renvoie? – Jason

+1

Oh mon dieu Im un tel idiot. Je viens de vérifier ma feuille de style ... #login_callback {display: none;} –

Répondre

9

Essayez de modifier votre demande pour utiliser $.ajax au lieu de $.post car $.post échoue silencieusement.

$.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"); 
    } 
}); 

Ceci est basé sur ma théorie que login.php renvoie une réponse non-200 en cas d'échec. Juste une intuition cependant.

+14

+1 alerte ("O NOES"); – Jason

Questions connexes