[AJAX] xml + php / javascript,probl�mes de compr�hension
bonjour tout le monde
j'essaye actuellement de d�velopper un script de statistiques de serveurs vocaux. Ce script marche comme ceci :
il y a un script php local sur chaque serveur et un script distant sur un autre serveur.
Chaque script local s'adresse � une BD et renvoie une r�ponse XML.
Enfin le script distant fais un echo en xml de tous les scripts locaux.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
echo '<listServers>';
$bd=new bd();
$bd->connectBase('localhost','root','','script');
$req='SELECT ipServer, pathScript, serverName FROM server';
$res=$bd->executeRequete($req);
$nbServer=mysql_num_rows($bd->resultatRequete);
if($nbServer>0) {
while($m=$bd->getLigneResultatSuivante()) {
$adresse='http://';
$adresse.=$m['ipServer'];
$adresse.=$m['pathScript'].'?vers='.$ver.'&nbDays='.$nbDays.'&nbHours='.$nbHours;
$page=@file_get_contents($adresse);
echo '<server nom="'.$m['serverName'].'">';
echo $page;
echo '</server>';
}
}
echo '</listServers>'; |
de ce fait je peux afficher les r�sultats avec un fichier XSLT.
Bref, le fait est que je voudrais afficher tout ca sans php et sans XSLT.
J'ai donc pens� au javascript. Et javascript + xml ca a donn� ajax !
Apr�s de nombreuses lectures depuis ce matin, j'ai essay� de nombreuses fois de faire marcher ce script :
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
|
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Liste des DVD</title>
<script src="script.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
<!--
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = handleHttpResponse;
var url = "remote_script.php?version=light&nbDays=0&nbHours=2";
xhr.open("GET", url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(null);
function handleHttpResponse() {
if(xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseXML)
var items = response.getElementsByTagName("server");
var html = '';
count = items.length;
for(i = 0; i < count; i++) {
html += '<h1>' + items[i].getElementsByTagName("nbCurrentCalls")[0].firstChild.nodeValue + '</h1>';
html += items[i].getElementsByTagName("nbLastHourCall")[0].firstChild.nodeValue;
html += items[i].getElementsByTagName("dureeLastHourCall")[0].firstChild.nodeValue;
}
document.getElementById('content').innerHTML += html;
}
}
-->
</script>
<div id="content"></div>
</body>
</html> |
malheureusement sans r�ussite ...
j'ai essay� de faire un alert(xhr.responseXML)
il me renvoie null
si je fais un alert(xhr.responseXML) il me renvoie bien tout le xml dans l'alert...
merci d'avance
ps : mon fichier XML est de la forme :
listServers
- server nom=" " (autant que de serveurs)
- current (autant que d'appels en cours)
arboName
callStart
duration
- stats
nbCurrentCalls
nbLastHourCall
dureeLastHourCall
dureeLastDayCall
nbLastDayCall
[edit] : j'ai rajout� le text/xml dans ma page et depuis j'ai r�ussi �
afficher : undefinedundefinedundefined dans ma page r�sultat ...
je pense que maintenant le r�sultat xml parvient � la page mais je n'arrive pas � l'afficher ...
quelqu un pourrait il m'aider � faire l'affichage du fichier xml qui est donn� en dessous svp svp