Bonjour,
Voila je dois mettre a jour une page toutes les 5 secondes avec des données provenant d'une base de données. Pour ce faire, j'utilise l'objet HTTPrequest de javascript qui me permet d'envoyer une requete mysql sans recharger ma page puis je change mes attributs sur ma page web avec le DOM . Ensuite avec setTimeout, je reitère mon code a l'infini toutes les 5 secondes.Ainsi ma page devrait etre mis a jour toutes les 5 secondes sans rechargement.
TOut ceci fonctionne parfaitement sous forefox ou mozilla. Mais ca ne fonctionne pas sous IE.
La seul différence pour IE est que au lieu de créer l'objet avec:
http = new XMLHttpRequest();
on le crée avec
http = new ActiveXObject("Microsoft.XMLHTTP");
D'apres mes recherches, un activeX utilise les registres de mon ordi et je suppose qu il sauvegarde la valeur. En fait sous IE, mon script java ne va meme plus executér ma requete mysql dans son fichier:
Si quelqu'un pouvait m'aider, ca fait pas mal d'heures que je cherche un peu partout et je ne trouve. C est bizarre il n'existe pas de destructeur d'objet pour ActiveXObject. Enfin bon je comprend plus rien
Modifié par johan85 (27 May 2005 - 11:21)
Voila je dois mettre a jour une page toutes les 5 secondes avec des données provenant d'une base de données. Pour ce faire, j'utilise l'objet HTTPrequest de javascript qui me permet d'envoyer une requete mysql sans recharger ma page puis je change mes attributs sur ma page web avec le DOM . Ensuite avec setTimeout, je reitère mon code a l'infini toutes les 5 secondes.Ainsi ma page devrait etre mis a jour toutes les 5 secondes sans rechargement.
TOut ceci fonctionne parfaitement sous forefox ou mozilla. Mais ca ne fonctionne pas sous IE.
La seul différence pour IE est que au lieu de créer l'objet avec:
http = new XMLHttpRequest();
on le crée avec
http = new ActiveXObject("Microsoft.XMLHTTP");
D'apres mes recherches, un activeX utilise les registres de mon ordi et je suppose qu il sauvegarde la valeur. En fait sous IE, mon script java ne va meme plus executér ma requete mysql dans son fichier:
function essai(){
if (window.XMLHttpRequest) { //Si !IE
http = new XMLHttpRequest();
} else if (window.ActiveXObject) { //Sous IE
http = new ActiveXObject("Microsoft.XMLHTTP");
}
//APpel de la fonction qui lance la requete
majActeur();
// Recursivité pour actualiser ma page toutes les 5 secondes
window.setTimeout("essai()",5000);
}
function majActeur() {
var rechRapide = document.getElementById("rapide").value;
http.onreadystatechange = handleHttpResponse;
// sous IE j'ai l'impression qu'il execute cette ligne une seule fois. (la premiere fois enfait)
// Ensuite il ne va plus dans le fichier recupActeur.php
http.open("GET", "recupActeur.php?recherche="+ escape(rechRapide));
http.send(null);
}
function handleHttpResponse() {
if (http.readyState == 4) {
var results = http.responseText;
sh=document.getElementById("nom");
sh.innerHTML = http.responseText;
}}
Si quelqu'un pouvait m'aider, ca fait pas mal d'heures que je cherche un peu partout et je ne trouve. C est bizarre il n'existe pas de destructeur d'objet pour ActiveXObject. Enfin bon je comprend plus rien

Modifié par johan85 (27 May 2005 - 11:21)