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

jQuery Discussion :

Résultat renvoyé par Ajax


Sujet :

jQuery

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2003
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 32
    Points : 28
    Points
    28
    Par défaut Résultat renvoyé par Ajax
    Bonjour,

    J'ai un script JQuery d'authentification qui ressemble à ça :

    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
     
    $.ajax({
    	type: "POST",
    	url: "sScripts/sAuth.php",
    	data: "user="+identifiant+"&mdp="+mdp,
    	success: function(retour){
    		if (retour == "KO") {
    			alert('Identifiant et/ou mot de passe incorrect');
    		}
    		else if (retour == "OK"){
    			alert('OK');
    		}
    		else {
    			alert('Problèmes de connexion, merci de réessayer un peu plus tard');
    		}
    	}
    });
    Mon script sAuth.php se content d'écrire "OK" si l'identifiant et le mot de passe sont bons, et "KO" sinon.
    En fait mes "if" ne fonctionnent pas, et c'est systématiquement le dernier "else" qui est appelé.
    Pourtant si je mets un alert(retour) j'obtiens bien "OK" ou "KO".
    J'ai même essayé un alert("-"+retour+"-") pour voir s'il y avait des espaces ou autres, mais tout est correct.
    Je comprends pas bien quel est le problème...
    Si ça vous dit quelque chose, merci d'avance !

    Edit : retour.length vaut 6... y a un petit souci non ?

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut,

    Il me semble que ta réponse va contenir des caractères "blancs" en fin de ligne (en particulier un retour à la ligne).

    Tu peux essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    success: function(retour){
        retour = retour.replace(/\s+$/g, '');
        if (retour == "KO") {
            alert('Identifiant et/ou mot de passe incorrect');
        } else if (retour == "OK") {
            alert('OK');
        } else {
            alert('Problèmes de connexion, merci de réessayer un peu plus tard');
        }
    }
    Bon développement
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2003
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 32
    Points : 28
    Points
    28
    Par défaut
    Bonjour,

    Ca ne fonctionne pas mieux avec votre solution. J'ai également essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    retour = retour.replace(/\s+$/g, '');
    au cas où, mais ça ne fonctionne pas mieux.
    Si je tape un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(retour.substring(0,4));
    Rien ne s'affiche.
    Si je tape :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert("-"+retour.substring(0,4)+"-");
    Il s'affiche : --
    En fait les premiers caractères semblent invisibles.
    J'ai donc testé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert("-"+retour.charCodeAt(1)+"-");
    Ce qui m'affiche : -65279-
    C'est bizarre non ?

    J'ai trouvé comme solution un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    retour = retour.replace(/[^OK]/g, '');
    qui me plait moyen mais bon, en attendant mieux...

    Merci pour votre aide !

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Suggère d'essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var str = retour.replace(/\W/g,'');
    console.log("String = " + str + " , " + str.length + '\n' + "retour = " + retour + " , " + retour.length);

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2003
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 32
    Points : 28
    Points
    28
    Par défaut
    Oui cela fonctionne avec votre expression régulière.
    J'aurais préféré que mon fichier php ne mette pas des caractères spéciaux en début de fichier, je sais pas comment l'en empêcher.
    En tout cas merci.

  6. #6
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Il me vient une idée. Serait-il possible que votre fichier PHP soit en UTF-8 ou UTF-16 et votre fichier HTML en iso latin 1 ?

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2003
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 32
    Points : 28
    Points
    28
    Par défaut
    Je pense également à un problme d'encodage, mais tous mes fichiers sont encodés en ANSI...

Discussions similaires

  1. [XL-2007] Afficher le cumul des résultats renvoyés par VLookup
    Par abami2007 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/02/2013, 10h38
  2. Differents résultats renvoyés par fonction
    Par oliverjack dans le forum Fortran
    Réponses: 9
    Dernier message: 29/09/2011, 17h40
  3. Réponses: 15
    Dernier message: 26/11/2010, 21h38
  4. Réponses: 1
    Dernier message: 28/02/2009, 11h04
  5. [AJAX] IE me coupe ume partie du code HTML renvoyé par AJAX
    Par C_C dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/01/2008, 15h52

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