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] Verification Pseudo existant avec Ajax jsp et servlet


Sujet :

AJAX

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut [AJAX] Verification Pseudo existant avec Ajax jsp et servlet
    le prob est que le script ajax ne fonctionne pas
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    <script type="text/javascript">
    var bPseudo = false;
    function req_pseudo(pseudo) {
     
    	//XMLHttpRequest est supporté par Internet Explorer 5.0+, Safari 1.2, Mozilla 1.0 / Firefox, Netscape 7
    	if(document.all) var XhrObj = new ActiveXObject("Microsoft.XMLHTTP"); //Internet Explorer
    	else var XhrObj = new XMLHttpRequest(); //Mozilla
     
    	content = document.getElementById("pseudo_check"); 	//zone d'affichage
     
    	XhrObj.open("GET", "verifpseudo.java");
     
    	//Ok pour la page cible
    	XhrObj.onreadystatechange = function()
    	{
    		if (XhrObj.readyState == 4 && XhrObj.status == 200) {
    			if (XhrObj.responseText =="OK") {
    				content.innerHTML="<img src="/accepter.png" alt=""/> OK";
    				bPseudo = true; // ok nouveau pseudo
    			} else {
    				content.innerHTML="<img src="/refuser.png" alt=""/> Déjà pris";
    				bPseudo = false; // erreur pseudo déjà existant
    			}
    		}
    	}
     
    	XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	XhrObj.send('p='+pseudo);
     
    }
     
    function testChamps(f) {
    	bPseudo = false; // on va revalider le champ
    	req_pseudo(f.pseudo.value);
    	if (!bPseudo) {
    	 alert('Erreur pseudo');
    	 return false;
    	}
    	if (f.mdp.value != f.mdp2.value) {
    	 alert('Mots de passe différents');
    	 return false;
    	}
    	return true;
    }
    </script>
    voila le code jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <body>
    <h3>Tester l'existence d'un pseudo en Ajax</h3>
    <p>On peut tester avec le pseudo JBL déjà existant ou au autre au hasard qui lui ne le sera pas.</p>
    <form method="post" onsubmit="return testChamps(this);">
    <p>Choisissez un pseudo : <input type="text" name="pseudo" value="" onblur="req_pseudo(this.value);"> <span id="pseudo_check"></span></p>
    <p>Choisissez un mot de passe : <input type="password" name="mdp" value=""></p>
    <p>Confirmez le mot de passe : <input type="password" name="mdp2" value=""></p>
    <input type="submit" name="Valider" value="Valider">
    </form>
    </body>
    Voila la servlet verifpseudo:

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    public class verifpseudo extends HttpServlet {
     
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
     
            ConnexionBD c =new ConnexionBD();
    c.driver();
    Connection con=c.OpenConnexion();
     int k=0;
     
    try {
    String sql="select * from visitnoneffectue";
    con.setAutoCommit(false);
    Statement st=con.createStatement();
    ResultSet rs=st.executeQuery(sql);
    con.commit();
    boolean trouve=false;
    PrintWriter out = response.getWriter();
    while(!trouve & rs.next()){
     if(rs.getString(3).equals(request.getParameter("pseudo"))){
     
              out.println("OK");
              trouve=true;
          }
     
    }
    if(!trouve) {out.println("FAIL");}
            }
    catch(Exception e)
    {
     
    System.out.println("Echec de l'exécution de la requête sql :"+e.getMessage());
     
    }
     
     
        }
    NB: je pense que l'erreur ce que n'accede pas à la servlet .Merci de m'aider

  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
    Bonjour,

    Tu peux préciser ce que veut dire le script ajax ne fonctionne pas ?
    • Message d'erreur
    • Comportement erroné
    • ...


    Sinon, tes content.innerHTML ne sont pas corrects ; la coloration syntaxique le montre, d'ailleurs.

    Utilise plutôt quelque chose de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    content.innerHTML='<img src="/accepter.png" alt=""/> OK';

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut
    pas de message d'erreur plutot il valide directement sans verifier.
    NB:pour votre correction du code est juste merci.
    donc le prob dans ajax il ne recupere pas les affichages OK et FAIL pour verifier le champ

  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
    Bonjour,

    Tu travailles en mode asynchrone, donc il n'attend pas le retour de la requête AJAX pour continuer d'exécuter les instructions suivantes.

    A+.

Discussions similaires

  1. [AJAX] Poster un formulaire avec AJAX
    Par faico dans le forum AJAX
    Réponses: 10
    Dernier message: 22/03/2010, 18h12
  2. [AJAX] affichage d'images avec ajax
    Par Pi2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/12/2006, 19h56
  3. [AJAX] Listes déroulantes liées avec Ajax
    Par paupiette dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/08/2006, 17h51
  4. [AJAX] Enchainer plusieurs requêtes avec Ajax
    Par Bobtop dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/08/2006, 09h13
  5. [AJAX] Modifier avec AJAX une image générée avec GD
    Par thsantac dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/03/2006, 20h34

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