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 23/06/2008, 10h58   #1
Invité de passage
 
Inscription : juin 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 14
Points : 1
Points : 1
Par défaut Premier script, premier bug.. j'ai besoin de vous :)

Salutation!

Grâce aux différents tutoriels que j'ai pu apercevoir sur la toile et mes quelques connaissances, j'ai réalisé mon premier script ajax: "tout con", vous me direz, il marche de la façon suivante: lorsque je clique sur "cliquez-ici" ajax se lance pour rechercher une page php qui contient un simple SELECT.

Sous FireFox, pas de problème, tout fonctionne, sous explorer, c'est une autre paire de manche: le script ne se lance qu'une fois, il semblerait qu'il soit contre le fait de regénérer mon httpRequest avec le nouveau open...

Quelqu'un saurait me dire d'où ça vient?

Voici le code:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
 
<script type="text/javascript" language="javascript">
 
function gestionClic(url)
{ 
 
	httpRequest = 0;
    var httpRequest; 
 
    try {  httpRequest = new ActiveXObject('Msxml2.XMLHTTP');   }
    catch (e) 
    {
        try {  	httpRequest = new ActiveXObject('Microsoft.XMLHTTP');    }
        catch (e2)
        {
          try {  httpRequest = new XMLHttpRequest();     }
          catch (e3) {  httpRequest = false;   }
        }
     }
    httpRequest.open('GET', url, true); 
    httpRequest.onreadystatechange  = function()
	{ 
	document.getElementById('tabdonnees').innerHTML = "chargement...";
 
         if(httpRequest.readyState  == 4)
         {
              if(httpRequest.status == 200)
      			{
				document.getElementById('tabdonnees').innerHTML = httpRequest.responseText;
				alert(httpRequest.responseText);
				}
			  else
				{
				document.getElementById('tabdonnees').innerHTML = "<strong>N/A</strong>";
				}
         }
    }; 
   	httpRequest.send(null); 
 
} 
 
</script>
 
</head>
 
<body>
<p>
<a href="#" onclick="gestionClic('select_identites2.php'); return false;">Cliquez ici !</a>
<div id="tabdonnees">
 
</div>
</p>
 
</body>
</html>

Et ici la page test à ouvrir avec firefox, ie7 et ie6
http://www.moovz.fr



Merci par avance.
chromatia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h09   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 828
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 828
Points : 35 998
Points : 35 998
J'ai pourtant l'impression que ça fonctionne sous IE...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h11   #3
Invité de passage
 
Inscription : juin 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 14
Points : 1
Points : 1
re Bovino
je me suis rendu compte que l'ancien message n'était pas réellement dans la bonne catégorie!

Cela fonctionne une fois, mais si tu refais "cliquez-ici" tu remarques que sous FireFox il y a un léger "chargement en cours..." qui apparaît juste avant les données, alors que sous IE il le fait la première fois et les autres fois il ne bouge plus!

Si je rentre une nouvelle donnée dans la bdd ie ne la prendra pas en compte, la page restera figé, comme un cache qui ne se vide pas.
chromatia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h16   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 828
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 828
Points : 35 998
Points : 35 998
C'est très court, mais sous ie je vois à chaque fois le "chargement..." puis le alert.

Citation:
je me suis rendu compte que l'ancien message n'était pas réellement dans la bonne catégorie!
Ca me rassure, un moment j'ai cru être dans le film "Un jour sans fin"...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h22   #5
Invité de passage
 
Inscription : juin 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 14
Points : 1
Points : 1
Chez moi impossible, sous ie6 "chargement" n'apparaît pas :s
chromatia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h26   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 828
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 828
Points : 35 998
Points : 35 998
Et le
Code :
alert(httpRequest.responseText);
???
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h31   #7
Invité de passage
 
Inscription : juin 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 14
Points : 1
Points : 1
je l'ai viré pour des tests...

le voilà remis
chromatia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h36   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 828
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 828
Points : 35 998
Points : 35 998
Oui... mais il s'affiche à chaque fois ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h47   #9
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 828
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 828
Points : 35 998
Points : 35 998
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
 
<script type="text/javascript" language="javascript">
 
function gestionClic(url)
{ 
 
	httpRequest = 0;
    var httpRequest; 
 
    try {  httpRequest = new ActiveXObject('Msxml2.XMLHTTP');   }
    catch (e) 
    {
        try {  	httpRequest = new ActiveXObject('Microsoft.XMLHTTP');    }
        catch (e2)
        {
          try {  httpRequest = new XMLHttpRequest();     }
          catch (e3) {  httpRequest = false;   }
        }
     }
    httpRequest.open('GET', url, true); 
    httpRequest.onreadystatechange  = function()
	{ 
	document.getElementById('chargement').innerHTML += "chargement...";
 
         if(httpRequest.readyState  == 4)
         {
              if(httpRequest.status == 200)
      			{
				document.getElementById('tabdonnees').innerHTML = httpRequest.responseText;
				alert(httpRequest.responseText);
				}
			  else
				{
				document.getElementById('tabdonnees').innerHTML = "<strong>N/A</strong>";
				}
         }
    }; 
   	httpRequest.send(null); 
 
} 
 
</script>
 
</head>
 
<body>
<p>
<a href="#" onclick="gestionClic('select_identites2.php'); return false;">Cliquez ici !</a>
<div id="chargement"></div>
<div id="tabdonnees">
 
</div>
</p>
 
</body>
</html>
Essaye avec ces changements :
-> Le message chargement... s'affiche dans une div séparée, il ne s'efface plus mais rajoute du texte à chaque requête.

Juste pour vérifier que ça fonctionne...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 12h04   #10
Invité de passage
 
Inscription : juin 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 14
Points : 1
Points : 1
c'est fait, il ajoute bien des "chargements" à chaque fois...
Mais les données ne se mettent pas à jour instantanément sous ie, il faut que je vide le cache et que j'actualise la page pour qu'il les reprenne en compte :s
chromatia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 12h19   #11
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 828
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 828
Points : 35 998
Points : 35 998
Code :
1
2
3
4
5
{
				document.getElementById('tabdonnees').innerHTML ='';
				document.getElementById('tabdonnees').innerHTML = httpRequest.responseText;
				alert(httpRequest.responseText);
				}
Essaye avec ça...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 12h30   #12
Invité de passage
 
Inscription : juin 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 14
Points : 1
Points : 1
pas idiot comme tentative j'y avait pas pensé!

malheureusement c'est non identique
chromatia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 12h39   #13
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 828
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 828
Points : 35 998
Points : 35 998
Pourquoi, ton php est censé te renvoyer des valeurs différents à chaque fois ?
J'avais pas compris ça... je croyais qu'il renvoyait la même chose...
On peut voir select_identites2.php ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 12h43   #14
Invité de passage
 
Inscription : juin 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 14
Points : 1
Points : 1
Bin si je n'ajoute rien dans la bdd il n'ajoute rien sur la page, mais si j'ajoute une valeur dans la base de donnée, il est sensé me mettre à jour ma liste, et il ne le fait pas sous ie:

http://moovz.fr/select_identites2.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
header("Content-type: text/html; charset=ISO-8859-1");
 
include("connexion.php");
$query = mysql_query("SELECT * FROM `identites`");
 
 
	while($tabidentites = mysql_fetch_assoc($query))
		{
		$infosnom = "".$tabidentites["nom"]."";
		$infosprenom = "".$tabidentites["prenom"]."";
 
 
		echo "<b>".$infosprenom."</b> ".$infosnom."<br/ >";
		}
?>
chromatia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 13h01   #15
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 828
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 828
Points : 35 998
Points : 35 998
Donc, quand tu fais tes tests, tu cliques sur ton lien, tout s'affiche, tu recliques sur ton lien et ta requête te renvoie la même chose.
Essaye dans ton php d'insérer une ligne dans ta table avant de récupérer les données...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 13h16   #16
Invité de passage
 
Inscription : juin 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 14
Points : 1
Points : 1
c'est fait,
systématiquement à présent avant de faire le SELECT il fait un INSERT.

Tu vas pouvoir entre apercevoir l'étendu du problème
chromatia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 13h21   #17
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 828
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 828
Points : 35 998
Points : 35 998
Désolé, mais chez moi ça marche...
Bon, c'est vrai qu'ayant ie7, je teste ie6 avec MultipleIEs dont je ne suis pas convaincu qu'il soit très efficace, mais en tout cas ça marche
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 14h23   #18
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 828
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 828
Points : 35 998
Points : 35 998
J'ai enfin installé IETester à la place de MultipleIEs et maintenant je vois mieux ton problème...
Insères :
Code :
1
2
3
header("Pragma: no-cache");
header("Expires: 0");
header("Cache-Control: no-cache, ");
dans ton fichier php et je pense que ça pourra résoudre ton problème.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 14h40   #19
Invité de passage
 
Inscription : juin 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 14
Points : 1
Points : 1
ouffffffffff on en voyait pas le bout hein?

C'était bien un problème de cache, ce qui est étrange c'est que je mettais renseigné dessus et j'avais déjà copier coller un exemple de header qui vide le cache rien n'y faisait!

Mais là ça marche!

je te remercie pour le temps que tu y as consacré Bolino.


Amicalement
chromatia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h11.


 
 
 
 
Partenaires

Hébergement Web