Bonjour,

Le but de ce programme est de récupérer la valeur des éléments d’une balise dans un fichier xml et de l’afficher toutes les secondes dans un tableau. Pour cela, j’envoie une requête au serveur concerné avec un programme via un fichier html.

Ce programme marche très bien en local avec firefox (fichier xml dans le même dossier) mais il génère une erreur quand je lui indique la vraie url :

Erreur : uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: file:///C:/Documents%20and%20Settings/utilisateur/Bureau/Maxime%20-%20Ajax%20&%20co/chargementXML.html :: loadXMLDoc :: line 17" data: no]

Voici mon prog :

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
 
<html> 
<head> 
 
<script type="text/javascript"> 
 
function loadXMLDoc(dname) // Fonction de chargement de la page XML 
{ 
if (window.XMLHttpRequest) 
{ 
xhttp=new XMLHttpRequest(); 
} 
else // Internet Explorer 5/6 
{ 
xhttp=new ActiveXObject("Microsoft.XMLHTTP"); // Compatibilité IE / FF 
} 
xhttp.open("POST",dname,false); 
xhttp.send(null); 
xmlDoc=xhttp.responseXML; 
return xmlDoc; 
} 
 
</script> 
 
</head> 
<body> 
 
<h1>Tableau des valeurs recueillies</h1> 
 
<div id="content">Chargement en cours...</div> <!-- Ce texte sera remplacé au bout de x secondes --> 
 
<script type="text/javascript"> 
 
setInterval(function(){ 
t = "<table border='1px'>"; 
xmlDoc=loadXMLDoc('http://10.220.90.18/cgi_bin/dataProxy?oper=queryTags&invis=1&rssi=1'); <!-- Le fichier XML chargé --> 
x=xmlDoc.getElementsByTagName("Tag"); <!-- On se base sur le nombre de balises TAGs --> 
for (i=0;i<x.length;i++) 
{ 
y = z = ""; 
t +="<tr>"; 
y=xmlDoc.getElementsByTagName("Tag")[i].getAttribute("raw"); <!-- On récupère l'attribut RAW --> 
t +="<td>"+y+"</td>"; 
z=xmlDoc.getElementsByTagName("Tag")[i].getAttribute("rssi"); <!-- On récupère l'attribut RSSI --> 
t +="<td>"+z+"</td>"; 
t +="</tr>"; 
} 
t += "</table>"; <!-- Attention, seul innerHTML permet de conserver l'interprétation graphique ( # de textarea)--> 
document.getElementById("content").innerHTML=t 
}, 
1000); <!-- Réactualisation toutes les secondes --> 
 
</script> 
 
</body> 
</html>
Merci d'avance !!!!