Ha oui ! :)
La fonction setTimeout ne fait qu'une éxécution différée unique...
Version imprimable
Ha oui ! :)
La fonction setTimeout ne fait qu'une éxécution différée unique...
Cela ne nous aide pas beaucoup :roll:Citation:
cela ne marche pas !
As-tu pensé à utiliser Firebug pour savoir exactement ce qui est envoyé et ce qui est retourné par le serveur ?
Autrement dit, que donne un
?Code:alert(objxhr)
@nadox : il va sans dire que ma remarque ne s'adressait pas à toi, comme tu le dis, il faut se documenter un minimum si un code donné fonctionne mal : ils sont souvent écrits rapidement et peuvent contenir des étourderies ou des fautes de frappe ;)
bah le alert donne "objet xmlHttpRequest" se qui est normal je pense non
Oui, je voulais dire
:aie:Code:alert(objxhr.responseText)
bah cela m'affiche le contenu du fichiers visiteurs.txt
Il faut remettre un setTimeout dans le onreadystatechange(éxécution différé du prochain appel) :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function appelajax() { var objxhr = xhr_connect() ; if(objxhr) { objxhr.onreadystatechange = function(){ if(objxhr.readyState == 4){ if(objxhr.status == 200) { document.getElementById('num').innerHTML = objxhr.responseText; setTimeout(appelajax,1000); // prochain appel dans une seconde. } } } objxhr.open("GET","../../visiteurs.txt",true); objxhr.send(null); }else { alert("probléme"); } } setTimeout(appelajax,1000); // premier appel. pas nécessairement dans un setTimeout d'ailleurs...
ca marche mais c bon
merci a vous tous de m'avoir aider
Si c'est "dans une seconde", OK pour setTimeout.
Si c'est "toutes les secondes" qu'il faut déclencher la fonction, utilise plutot setInterval.