Interaction avec le serveur : AJAX + PHP

Fermé
kate1985 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 24 septembre 2009 - 17 sept. 2009 à 14:56
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 17 sept. 2009 à 21:05
Bonjour,
bonjour ,
est ce que quelqu'un pourra me dire c'est koi l'erreur dans mon code :
function ajax()
{
    var xhr=null;
    
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { alert_ajax(xhr); };
    
    //on appelle le fichier reponse.php
    xhr.open("GET", "file:///var/www/html/reponse.php", true);
    xhr.send(null);
}
 
function alert_ajax(xhr)
{
	var docXML= xhr.responseXML;
	var items = docXML.getElementsByTagName("donnee")
	//on fait juste une boucle sur chaque element "donnee" trouvé
	for (i=0;i<items.length;i++)
	{
		alert (items.item(i).firstChild.data);
	}
}
 

ce code consiste à appeller un fichier reponse.php ,ce dernier va simplement lire dans une base de donnée et transforme le résultat en XML.
<?php
header('Content-Type: text/xml'); 
echo "<?xml version=\"1.0\"?>\n";
echo "<exemple>\n";
 
//on connecte a la BDD
$dbhost="localhost";
$dbuser="root";
$dbpass="imane ";
 
$dblink=mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db("data",$dblink);
 
//on lance la requete
$query = "SELECT * FROM temp";
$result = mysql_query($query,$dblink) or die (mysql_error($dblink));
 
//On boucle sur le resultat
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
	echo "<donnee>" . $row[0] . "</donnee>\n";
}
echo "</exemple>\n";
 
?>


pour tester dans un fichier .html je lance ma fonction ajax mais rien n'est affiché??!!! normalement il doit afficher les données de la table .

repondez moi svp car je me suis bloquée et je sais pas quoi faire
merci d'avance

1 réponse

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
17 sept. 2009 à 21:05
function alert_ajax(xhr)
{
	var docXML= xhr.responseXML;
	var items = docXML.getElementsByTagName("donnee")
	//on fait juste une boucle sur chaque element "donnee" trouvé
	for (i=0;i<items.length;i++)
	{
		alert (items.item(i).firstChild.data);
	}
}

La variable xhr est inutilisée et xhr.responseXML n'existe pas ...
0