Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/04/2011, 22h20   #1
Membre du Club
 
Homme
Ingénieur développement de composants
Inscription : mars 2011
Messages : 89
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 : 89
Points : 55
Points : 55
Par défaut Verification Pseudo existant avec Ajax jsp et servlet

le prob est que le script ajax ne fonctionne pas
Code :
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 :
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 :
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
trmalek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 23h01   #2
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 493
Points : 2 493
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 :
content.innerHTML='<img src="/accepter.png" alt=""/> OK';
__________________
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
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/04/2011, 23h11   #3
Membre du Club
 
Homme
Ingénieur développement de composants
Inscription : mars 2011
Messages : 89
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 : 89
Points : 55
Points : 55
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
trmalek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 05h59   #4
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 270
Points : 7 270
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+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h34.


 
 
 
 
Partenaires

Hébergement Web