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

JavaScript Discussion :

[AJAX] Authentification en Ajax


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Points : 72
    Points
    72
    Par défaut [AJAX] Authentification en Ajax
    Salut,

    Je veux integrer Ajax dans la page Login.jsp. J'ai deja ecrit une fonction verify_login qui retourne une valeur boolean: true si le username et le password sont corrects, et false dans le cas contraire.

    Je me base sur le code suivant http://woork.blogspot.com/2007/10/lo...x-and-php.html
    pour ajaxifier le login.

    Comment puis-je modifier le code pour recuperer le resultat boolean ? J'ai mis false a la place de 0, pourtant ca ne marche pas.
    D'une autre part j'ai fait alert(response); l'alert est vide comme resultat. donc je pense que il y a un probleme avec http.responseText.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    }
    function loginReply() {
    if(http.readyState == 4){
    var response = http.responseText;
    if(response == 0){
    // if login fails
    document.getElementById('login_response').innerHTML = 'Login failed! Verify user and password';
    // else if login is ok show a message: "Welcome + the user name".
    } else {
    document.getElementById('login_response').innerHTML = 'Welcome'+response;
    }

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    visiblement ton esponse doit contenir, soi un login, soi rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (!response.length){
    ...
    response.length équivaut à false si longueur = 0
    true sinon ...
    (à vérifier, donc : qu'il soit effectivement vide en cas d'échec)

    A+

  3. #3
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Points : 72
    Points
    72
    Par défaut
    ca ne marche jamais

    J'ai modifie ma fonction Login.jsp. Elle retourne maintenant le username de type String si les user/pass sont corrects, et retourne une chaine vide dans le cas contraire (return a=""

    si je faits alert(response.length); j'obtients 34 ou 30
    et si je faits alert(response), l'alert est vide!!

    var response = http.responseText ne me retourne rien. Je pense que cela qui me cause le probleme

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Identifiant Voir le message
    si je faits alert(response.length); j'obtients 34 ou 30
    et si je faits alert(response), l'alert est vide!!
    C'est donc que le serveur te retourne une string de 30 ou 34. Des espaces, sûrement.
    Fais un autre test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert('/'+response+'/');
    Tu verras le "vrai" contenu ...

    A+

  5. #5
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Points : 72
    Points
    72
    Par défaut
    ca ne me retourne que les /:

    / /

  6. #6
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Points : 72
    Points
    72
    Par défaut
    je pense que ca n'a rien avoir avec Ajax.

    je ne sais pas comment envoyer comme reponse le resultat du login (jsp)

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Identifiant Voir le message
    je ne sais pas comment envoyer comme reponse le resultat du login (jsp)
    Il suffit que ton jsp génère une page qui ne contienne que ça (le login ou rien du tout) ...

    A+

  8. #8
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Points : 72
    Points
    72
    Par défaut
    je viens de tester ma page login.jsp, elle retourne uniquement le username, et lorsque les parametres sont incorrects, elle ne me retourme rien. Donc je ne sais pas pourquoi http.responseText est toujours vide

  9. #9
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Si j'en crois Micro$oft sur cette page, responseText n'existe que sous IE 7. Donc si tu testes avec IE6 ou veux que ton appli fonctionne avec IE 6, cette propriété n'est pas reconnue donc peut être vide. C'est peut-être le pb. Du coup, je te recommenderais d'utiliser plutôt responseXML et de renvoyer le login (ou true, false, comme tu veux) dans un document XML, même simple du style <?xml version="1.0"?><response>login</response>.

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Si j'en crois Micro$oft sur cette page, responseText n'existe que sous IE 7.
    Je l'utilise sous IE6 : ça passe bien (FF aussi me semble-t-il) ...

    A+

  11. #11
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Bravo Micro$oft !! Je t'avoue que ça m'a surpris aussi de lire ça.

Discussions similaires

  1. [AJAX] authentification avec Ajax
    Par Neilime05 dans le forum AJAX
    Réponses: 4
    Dernier message: 26/10/2009, 10h45
  2. [AJAX] Authentification et AJAX
    Par kheraud dans le forum AJAX
    Réponses: 4
    Dernier message: 08/10/2009, 14h19
  3. [AJAX] Authentification en AJAX
    Par Invité dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 15/04/2008, 13h05
  4. [AJAX] Authentification en Ajax
    Par Identifiant dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/01/2008, 16h57
  5. [AJAX] Authentification PHP
    Par abys dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/09/2006, 13h43

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