AJAX JQuery problème IF
Résolu
tete0148
Messages postés
493
Statut
Membre
-
tete0148 Messages postés 493 Statut Membre -
tete0148 Messages postés 493 Statut Membre -
Bonjour,
Je vous présente mon problème:
J'ai essayer pour m'entraîner de faire un peut d'AJAX avec JQuery.
Lorsque je clique sur envoyer, la page de traitement doit envoyer 'pseudoExist', et cela fonctionne.
J'arrive à l'afficher comme ceci:
Mais dès que je rajoute un IF :
L'alerte de fonctionne plus. Je ne sais pas de quoi cela vient, merci de m'aider. Sachant que en vérifiant dans l'inspecteur, la page traitement.php renvoie bien 'pseudoExist'.
Je vous présente mon problème:
J'ai essayer pour m'entraîner de faire un peut d'AJAX avec JQuery.
Lorsque je clique sur envoyer, la page de traitement doit envoyer 'pseudoExist', et cela fonctionne.
J'arrive à l'afficher comme ceci:
$(document).ready(function(){ $("#submit").click(function(){ $.post( 'traitement.php', { pseudo : pseudo, password : password, mail : mail }, function(data){ alert(data); }, 'text' } ); return false; }); });
Mais dès que je rajoute un IF :
$(document).ready(function(){ $("#submit").click(function(){ $.post( 'traitement.php', { pseudo : pseudo, password : password, mail : mail }, function(data){ if (data == 'pseudoExist'){ alert(data); } }, 'text' } ); return false; }); });
L'alerte de fonctionne plus. Je ne sais pas de quoi cela vient, merci de m'aider. Sachant que en vérifiant dans l'inspecteur, la page traitement.php renvoie bien 'pseudoExist'.
6 réponses
Bonjour !
Tu est sûr que tu retourne exactement cette chaîne (pseudoExist) ? Sans espace ni code html ?
Je ne vois pas vraiment pourquoi il ne ferait pas l'alerte sinon.
(Je suppose que ton site n'est pas en ligne ? :/)
Tu est sûr que tu retourne exactement cette chaîne (pseudoExist) ? Sans espace ni code html ?
Je ne vois pas vraiment pourquoi il ne ferait pas l'alerte sinon.
(Je suppose que ton site n'est pas en ligne ? :/)
tete0148
Messages postés
493
Statut
Membre
89
La page traitement.php retourne, j'ai tout mis en commentaire pour la bdd :
Nhay
Messages postés
838
Date d'inscription
Statut
Membre
Dernière intervention
126
Hum, tu a regarder l'encodage du fichier ? Au cas où tu aurait un p'tit BOM ?
tete0148
Messages postés
493
Statut
Membre
89
J'irai voir, je suis en cours là. merci de votre réponse
tete0148
Messages postés
493
Statut
Membre
89
Non tout est en sans UTF 8 sans bom
Bonjour
Je suppose que ton 'pseudoExist' renvoyé par le traitement.php est accompagné d'un caractère de fin de ligne.
Peux-tu faire un alert(data.length) pour voir combien il y a de caractères ?
Je suppose que ton 'pseudoExist' renvoyé par le traitement.php est accompagné d'un caractère de fin de ligne.
Peux-tu faire un alert(data.length) pour voir combien il y a de caractères ?
Après examen plus poussé, le code que tu donnes est faux. Après 'text', il devrait y avoir une parenthèse droite ) qui correspond à l'ouverture $.post( . Toi tu as mis une accolade } . Ton premier code qui soi-disant marche ne marche pas en fait.
Tu as peut-être quand même vraiment un problème de caractères de fin de ligne si tu as laissé des lignes vides après le ?> à la fin de traitement.php. C'est pour ça qu'il est recommandé de NE PAS mettre la balise ?> à la fin des fichiers php. Ça t'étonne ? C'est dans la doc (3e paragraphe)
Tu as peut-être quand même vraiment un problème de caractères de fin de ligne si tu as laissé des lignes vides après le ?> à la fin de traitement.php. C'est pour ça qu'il est recommandé de NE PAS mettre la balise ?> à la fin des fichiers php. Ça t'étonne ? C'est dans la doc (3e paragraphe)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu as vraiment :
Dans ton code ?
Les variables pseudo, password et mail sont-elles définies ?
{ pseudo : pseudo, password : password, mail : mail }
Dans ton code ?
Les variables pseudo, password et mail sont-elles définies ?
Effectivement j'avais supprimer le code permettant de set ces variables. Mais en rajoutant $("#pseudo").val(); pour pseudo etc... le problème reste le même il me semble.
<!DOCTYPE html> <html> <head> <title>My website</title> <link href="css/style.css" rel="stylesheet" type="text/css"> <meta charset="utf-8"> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css"> </head> <body> <div class="content"> <div class="fill"> <div id="form"> <form method="post" action="#"> <fieldset> <legend>Inscription</legend> <div id="error"> </div> <div id="sucess"> </div> <input type="text" name="pseudo" id="pseudo" placeholder="Votre pseudonyme"><br> <input type="password" name="pwd" id="pwd" placeholder="Votre mot de passe"><br> <input type="password" name="confirm" id="confirm" placeholder="Confirmez le mot de passe"><br> <input type="email" name="mail" id="mail" placeholder="Votre adresse e-mail"><br> <input type="submit" id="submit" value="S'inscrire"> </fieldset> </form> </div> </div> </div> <!-- JS --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#submit").click(function(){ $.post( 'traitement.php', { pseudo : $("#pseudo").val(); password : $("#pwd").val(); mail : $("#mail").val(); }, function(data){ if (data == 'pseudoExist'){ alert(data); return false; } }, 'text'); return false; }); }); </script> </body> </html>