[AJAX] Réponse ajax type responseXML et traitement DOM
Bonjour,
j'organise la récupération de données sous forme de DOM comme suit:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
// ...
// REQUETES SQL pour récuperer les données dans le fetch-assoc $rec...
echo "<entries>";
echo $rec['count(*)'];
echo "</entries>";
echo "<project_".$i.">";
// Information about Project
echo "<projectId>";
echo $rec['projectId'];
echo "</projectId>";
echo "<title>";
echo $rec['title'];
echo "</title>";
... |
Dans mon script js Ajax je souhaite donc récupérer ces infos pour les "parser" et les écrire dans mon document :
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
|
// la réponse du traitement asynchrone effectué en PHP
var docXML = xhr.responseXML;
// Mon DOC parent
var write_in = document.getElementById('ajax-ListProjects');
// lines to add on the table
var lines = docXML.getElementsByTagName("entries").values;
for(i=0; i<lines; i++)
{
var tableTr = document.createElement("tr");
if(i%2 != 0)
tableTr.setAttribute("class", "alt");
write_in.appendChild(tableTr);
var tdTitle = document.createElement("td");
var title = createTextNode( docXML.getElementsByTagName("title")[i].value );
tdTitle.appendChild(title);
write_in.appendChild(tdTitle);
// ...
} |
Et voici l'erreur que j'obtiens sous Firebug :
Citation:
docXML has no properties
[Break on this error] var lines = docXML.getElementsByTagName("entries").value;
Il semble donc que je ne puisse pas récuperer les infos ?!
Pourtant en lançant ma page .php manuellement (hors appel ajax), j'obtiens bien l'affichage du texte entre mes balises "entries" :
<entries _moz-userdefined="">1</entries>
EDIT >>>
Pour info, je suis parti de l'exemple illustré sur ce tutoriel pour le principe.
Merci de votre aide.