IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] responseText et condition ne fonctionne pas


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut [AJAX] responseText et condition ne fonctionne pas
    Bonsoir à tous,

    J'ai un soucis : ma condition if qui teste un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (OAjax.responseText == "OK") {
    n'a pas l'air de fonctionner correctement.

    J'ai tenté de résoudre le problème alone mais là j'ai plus de yeux

    Voici mon html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form method ="post" action="connection.php" name="formm">
            	<input type="text" name="pseudo" onblur="val_pseudo(this);"/><div id="val_pseudo"></div>
                <input type="password" name="pswd" /><br />
     
                <input type="submit" />
             </form>
    mon PHP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
    header('Content-Type: text/html; charset=UTF-8');
    include("connect.php");
    $pseudo=$_POST['p'];
    $requete = "SELECT nom FROM personne WHERE pseudo = '".$pseudo."'";
    mysql_query("SET NAMES 'utf8'");
    $quer = mysql_query($requete);
    $fe = mysql_fetch_array($quer);
    if($fe) {
    echo "OK";      
    }
    else {
    echo "FAIL";    
    }
    ?>
    et mon ajax

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    function val_pseudo (pseudol) {
     
     
    	var pseudol = document.formm.pseudo.value;
    	alert(pseudol);
    	var content = document.getElementById('val_pseudo');
    	OAjax.open("POST","connection.php",true);
     
    	OAjax.onreadystatechange = function()
        {
     
    		 if (OAjax.readyState == 4 && OAjax.status==200)
    		  {	
    		  alert(OAjax.responseText);
     
    			 if (OAjax.responseText == "OK") {
     
    				content.innerHTML = "ok bon pseudo";
    			 }
    			 else  {
     
    				 content.innerHTML = "mauvais pseudo";
    			 }
    		  }	
         }
     
    		  OAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
              OAjax.send('p='+pseudol);
         }
    mon code permet de tester si le pseudo rempli est bon

    Dans tous les cas il me met : mauvais pseudo
    ALORS que quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(OAjax.responseText);
    , cela me donne bien "OK"
    donc je teste ensuite avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (OAjax.responseText == "OK") {
    Je ne comprends absolument pas pourquoi il met, et même si le pseudo existe, "mauvais pseudo"

    J'aurai vraiment besoin que quelqu'un m'explique pourquoi...

    Je vais encore chercher de mon coté!

    Merci !

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonsoir,
    testes avec indexOf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if( OAjax.responseText.indexOf('OK') > -1){
      // code si trouvé
    }

  3. #3
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    !!!!!!!!!! PARFAIT

    pourrais tu m'expliquer?

    parce que j'ai déjà utilisé ce code pour faire autre chose (au moment d'une inscription, vérifier que le pseudo n'est pas pris) , et j'ai pas eu de problème...

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Il te faut vérifier que la réponse ne comporte pas de caractère non imprimable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert('[' +OAjax.responseText +']');  // doit afficher [OK]

  5. #5
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] XHR sous IE ne fonctionne pas
    Par Hohenheim dans le forum AJAX
    Réponses: 2
    Dernier message: 30/07/2009, 15h14
  2. [AJAX] xmlhttprequest.send qui ne fonctionne pas avec une variable !
    Par hoaxpunk dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/03/2009, 18h17
  3. Jquery/AJAX function click qui ne fonctionne pas.
    Par prome dans le forum jQuery
    Réponses: 2
    Dernier message: 12/03/2009, 12h57
  4. [AJAX] Exemples du tuto ne fonctionnant pas
    Par dimi2 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/06/2008, 11h50
  5. [MySQL] Condition ne fonctionnant pas dans une classe
    Par lodan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/02/2007, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo