Bonjours, je débute dans ajax, et j´aimerai faire un chat sur (ma) mesure, je sais qu´il existe déjà pleins de scripts sur le web mais ils sont toujours trop compliqués pour moi ou ne ressemblent pas à ce que je souhaite.
J´ai déjà débuté le script, je me connecte au serveur via la page xml traitement.php (instance.open(´GET´, ´traitement.php´, true)), je récupere les données dans ma page au format xml, mais j´aimerai que cela se rafraichisse, afin de récuperer les données toutes les x secondes, j´ai donc fait un setInterval() mais je ne sait pas comment faire pour que ça s´applique à instance.onreadystatechange
Voila le code complet :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title></title>
<script type="text/javascript">
var xhr; // on déclare l´instance xhr
//var timer1 = setTimeout("requeteLireFichier()", 0);
var timer1 = setInterval("requeteLireFichier()", 5000);
if (window.XMLHttpRequest) xhr = new XMLHttpRequest(); // Firefox, Opera, Konqueror, Safari, ...
else if (window.ActiveXObject) xhr = new ActiveXObject(´Microsoft.XMLHTTP´); // Internet Explorer
else alert(´JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...´); // Navigateur ancien
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4)
{
var docXML= xhr.responseXML;
var items = docXML.getElementsByTagName("objet");
var dates = docXML.getElementsByTagName("date");
var donnees = docXML.getElementsByTagName("donnee");
//on fait juste une boucle sur chaque élément "donnee" trouvé
for (i=0;i<items.length;i++)
{
document.write((donnees.item(i).firstChild.data));
document.write(´ ´);
document.write((dates.item(i).firstChild.data));
document.write(´<br />´);
}
document.write(´<hr />´);
}
}
function requeteLireFichier() {
//On se connecte à traitement.php avec la méthode get
xhr.open(´GET´, ´traitement.php´, true);
xhr.send(null);
}
</script>
</head>
<body>
</body>
</html>
Merci d´avance pour vos réponses