Avant de devenir fou, pouvez-vous jeter un coup d'oeil sur ce code.
Bonjour,
Toujours le problème responseText ou responseXML ...
Environnement: PHP-Mysql-Firefox2.0/IE
Voici côté serveur:
Côté client, browser:
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 header("Cache-Control: no-cache, must-revalidate"); header('Content-Type: text/xml'); header('Pragma: no-cache'); ... //Lecture de données dans une base mysql ... //Construction de la réponse $_xml ="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"; $_xml .="<alarmes>\n"; while ($row = mysql_fetch_array($result)) { $_xml .= "<alarme> nom = '" . $row['Texte'] ."' />\n" ; } $_xml .="</alarmes>\n"; //Envoi au browser echo $_xml; ...
Je teste avec Firefox2.0
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 function ajaxFunction() { try { // Mozilla , Safari var ajaxrequest = new XMLHttpRequest(); } catch (e) { try { // Internet Explorer var ajaxrequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("Your browser broke !"); return false; } } } ajaxrequest.onreadystatechange=function() { if (ajaxrequest.readyState == 4 && ajaxrequest.status == 200) { if(ajaxrequest.responseXML != null ) { var items = ajaxrequest.responseText; alert(items); var xml = ajaxrequest.responseXML; alert(xml); var item = items.getElementsByTagName("alarme").item(0); alert(item.firstChild.data); } } } ajaxrequest.open("GET","genere_alarme.php",true); ajaxrequest.send(null); }
alert(items) affiche object XMLDocument -> cela semble correct
alert(xml) affiche object HTML Collection -> idem
alert(item.firstChild.data) génère une erreur dans Firefox/FireBug
"item has no properties"
Pourquoi ?
Je souhaitais récupérer les données par la suite. Comment faire ?
var alarme= xml.documentElement.getElementsByTagName("alarme"); ???
Partager