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] Test de la valeur de responseText qui ne fonctionne pas


Sujet :

AJAX

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut [AJAX] Test de la valeur de responseText qui ne fonctionne pas
    Bonjour,

    Voila j'ai 2 fonctions
    valide_formulaire() qui appel la fonction resultatValidation() en lui passant comme paramètre mon responseText.

    donc dans resultatValidation(), je voudrais, qu'en fonction de la valeur de ce paramètre, faire tel ou tel traitement.

    seulement, cela ne fonctionne pas !
    un simple if(sData == 'ok'){ traitement 1; }else{ traitement 2 } ne fonctionne pas !
    (sData étant la variable qui récupère le paramètre).

    par contre un alert(sData); fonctionne lui très bien !

    je voudrais savoir si il y a une façon particulière de tester la valeur renvoyée par un responseText ?


    merci pour votre aide

  2. #2
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Sans code, point de salut

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut
    zut, je voulais éviter d'avoir a recopier a la main le code, vu qu'il es sur un autre pc qui lui n'es pas connecté au net ^^

    alors :

    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
     
    function valideFormulaire(monFormulaire){
    var xhr = getXMLHttpRequest();
    ...
    xhr.onreadystatechange = function(){
    if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)){
    resultatValidation(xhr.responseText,monFormulaire);
    }
    xhr.open blablabla
    xhr.setRequestHeader blablabla
    xhr.send blablabla
    }
     
    function resultatValidation(sData,monFormulaire){
    alert (sData); // fonctionne trés bien et m'affiche bien mon "ko" ou "ok"
    if (sData == 'ok'){ //test qui ne fonctionne pas
    //traitement 1
    }else{
    //traitement 2
    }
    }
    le code fonctionne parfaitement, hormis ce point délicat ou j'ai besoin de savoir qu'a renvoyé mon script php pour généré l'affichage en fonction.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut

    Le vrai code !!!
    if (sData == 'ok'){ //test qui ne fonctionne pas
    //traitement 1
    }else{
    //traitement 2
    }

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut
    okay pas de probleme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    xhr.open("POST", "include/validations_formulaires.php",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xhr.send("form=" + monFormulaire + "&" + mesRetours);
    ps : mesRetours, est la concaténation de mes valeurs a envoyés.


    edit : j'ai mis des alert pour pas avoir a tout recopier, et meme ces alert ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (sData == 'ok'){ //test qui ne fonctionne pas
    alert ("Tout c'est bien passé !");
    }else{
    alert ("aie ! ca marche pas");
    }

  6. #6
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Le code complet de la partie php?

    Typiquement, ce genre d'erreurs viens du fait que tu vas avoir des caractères blancs avant et/ou apres tes balises php, ce qui fait que ta chaine est un peu différente de celle attendue.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut
    j'utilise ce code pour le login d'un utilisateur.
    donc je fais un select count et en fonction de la valeur renvoyée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if ($row['nb_utilisateur'] > 0){
    $_SESSION['admin'] = "ok";
    echo "ok";
    }else if ($row['nb_utilisateur'] >= 0){
    echo "ko";
    }
    pour ce qui concerne les espace avant ou aprés :

    lorsque je fais alert("*" + sData + "*");
    a l'affichage le second * est a la ligne dans la popup d'alert

  8. #8
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut Retour à la ligne
    Salut,

    Dans ton document PHP, n'as tu pas laissé après la dernière balise PHP quelque retour charriot ?

    ERE

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut
    ah oui tient, je viens de nettoyer ca et effectivement, maintenant, cela fonctionne....
    j'aime pas les erreurs d'inattentions comme ca -_-
    merci en tout cas.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 02/04/2015, 15h48
  2. Réponses: 2
    Dernier message: 20/08/2008, 23h09
  3. [AJAX] AJAX qui ne fonctionne pas sous IE
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 30/05/2008, 11h01
  4. Un test if qui ne fonctionne pas correctement
    Par Shinjuku dans le forum Langage
    Réponses: 6
    Dernier message: 26/02/2008, 10h52
  5. [RegEx] Test d'un format spécifique qui ne fonctionne pas
    Par Alvaten dans le forum Langage
    Réponses: 2
    Dernier message: 11/01/2008, 08h25

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