Bonjour,

Ma page contient un nombre, un bouton, et le nombre de personnes connectées.
Le chaque clic sur le bouton fait augmenter le nombre de 1. C'est un compteur, il ne sert à rien, mais il est très amusant.

Mais, n'ayant pas envie de recharger la page à chaque clic, j'ai voulu passer par un XMLHTTPRequest (que j'ai nommé xhr).

Donc, j'ai mes trois petites fonctions :
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
 
// Incrémente le compteur
function Incr() {
   xhr.open('POST', 'inc.php', true);      
   xhr.send(null);
}
 
// Affiche le compteur
function Affiche(){
   xhr.open('POST', 'aff.php', false);   
   xhr.send(null);
   document.getElementById("hits").innerHTML = '<h1>' + xhr.responseText + '</h1>';
   setTimeout("Affiche()",500);
}
 
// Affiche le nombre de connexions
function nbco() {
   xhr.open('POST', 'nb_co.php', false);
   xhr.send(null);
   document.getElementById("nbco").innerHTML = xhr.responseText;
   setTimeout("nbco()",10000);
}
Ça marche pas trop mal. Mais avec firefox, j'ai un petit problème, apparement, il n'apprécie pas le fait qu'il y ai pas mal de requêtes en même temps.
Et souvent, les fonctions stopent en donnant ça (ici pour la fonction Affiche()) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Erreur : uncaught exception: [Exception... "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIXMLHttpRequest.send]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: http://127.0.0.1/myryllio/public_html/ :: Affiche :: line 25"  data: no]
La boucle s'arrete, et c'est assez embetant...

Donc apparement le xhr.send plante en disant que ne n'ai pas fait de xhr.open, qui est pourtant une ligne au dessus...