Bonjour à tous,
svp, pouvez-vous m'aider à comprendre pourquoi Je ne parviens pas à connaître le nombre de neuds retournés par le serveur dans une réponse XML?
"racine.childNodes.length" ne fonctionne pas!
Voici le fichier produit par le serveur PHP
Voici mon script javascript qui refuse de fonctionner:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <groupe> <famille valeur=''1''>Famille 1</famille> <famille valeur=''2''>Famille 2</famille> <famille valeur=''3''>Famille 3</famille> </groupe>
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 <script language="javascript"/> function fnXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; } //Fin fonction fnXhr() // Fonction appelée quand on clique sur un élément de la liste 1 // car il y a une seconde liste à charger function fClient(){ var xhr = fnXhr(); // On définit ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // Si le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ var reponse = xhr.responseXML; var racine = reponse.getElementsByTagName('groupe'); var noeud = racine.childNodes; //Ce qui suit ne fonctionne pas! var nombreFils = racine.childNodes.length; alert(nombreFils); for(var i=0; i<nombreFils; i++){ var leNeud = racine.childNodes[i]; if(leNeud.nodeType == 1){ alert(leNeud.firstChild.data); } //Fin if } //Fin de la boucle for } //Fin de l'action avec la réponse // Les données sont envoyées en post xhr.open("POST", "./ajax/clients.php", true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // On poste les données // ici, l'id de la liste 1 nommée "classification" liste1 = document.getElementById('classification'); id = liste1.options[liste1.selectedIndex].value; xhr.send("id=" + id); } //Fin fonction fClient() </script/>
Partager