Bonjour,

Je souhaite pouvoir récupérer dans une div le contenu d'un fichier xml hébergé sur un espace web que j'ai. (distant).

J'ai codé un script qui fait la connexion et qui met en forme le contenu suivant ce qu'il a trouvé dans le fichier xml mais j'ai une erreur lors du test. Dans la console google chrome j'ai ceci :

XMLHttpRequest cannot load http://www.monsite.net/bonsplans.xml. Origin http://monsite.net is not allowed by Access-Control-Allow-Origin.
Pouvez-vous m'aider? Voici les différents codes :

script.js :

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
function loadXMLDoc(url)
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
	xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
 
 {
    dernieresminutes="";
    x=xmlhttp.responseXML.documentElement.getElementsByTagName("DERNIEREMINUTE");
    for (i=0;i<x.length;i++)
      {
      xx=x[i].getElementsByTagName("DATE");
        {
        try
          {
          dernieresminutes=dernieresminutes + "<fieldset><legend><font color='#4e559c' size='2px'>" + xx[0].firstChild.nodeValue + "</font></legend>";
          }
        catch (er)
          {
          dernieresminutes=dernieresminutes + "<p>erreur*</p>";
          }
        }
        xx=x[i].getElementsByTagName("CONTENT");
        {
        try
          {
          dernieresminutes=dernieresminutes + "<div class=\"row\"><font color='blue' size='3px'><center>" + xx[0].firstChild.nodeValue + "</center></font>";
          }
        catch (er)
          {
          dernieresminutes=dernieresminutes + "<p>erreur*</p>";
          }
        }
        dernieresminutes=dernieresminutes + "</font></div></fieldset>";
      }
    document.getElementById('writeDernieresMinutes').innerHTML=dernieresminutes;
  } 
 
 
 
  {
    OffresPermanentes="";
    x=xmlhttp.responseXML.documentElement.getElementsByTagName("OFFREPERMANENTE");
    for (i=0;i<x.length;i++)
      {
      xx=x[i].getElementsByTagName("TITRE");
        {
        try
          {
          OffresPermanentes=OffresPermanentes + "<fieldset><legend><font color='#4e559c' size='2px'>" + xx[0].firstChild.nodeValue + "</font></legend>";
          }
        catch (er)
          {
          OffresPermanentes=OffresPermanentes + "<p>erreur*</p>";
          }
        }
        xx=x[i].getElementsByTagName("CONTENT");
        {
        try
          {
          OffresPermanentes=OffresPermanentes + "<div class=\"row\"><font color='blue' size='3px'><center>" + xx[0].firstChild.nodeValue + "</center></font>";
          }
        catch (er)
          {
          OffresPermanentes=OffresPermanentes + "<p>erreur*</p>";
          }
        }
        OffresPermanentes=OffresPermanentes + "</font></div></fieldset>";
      }
    document.getElementById('writeOffresPermanentes').innerHTML=OffresPermanentes;
  }
 
 
 
 
}
xmlhttp.open("POST",url,true);
xmlhttp.send();
}
 
 
 
function getXhr(){
	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
}
extrait de ma page.html :

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
 
<html lang="fr">
<head>
<title>monsite</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
<script type="text/javascript" src="script.js"></script>
 
<SCRIPT TYPE="text/javascript">
        function init(){
        loadXMLDoc('http://www.monsite.net/bonsplans.xml');
        }
</SCRIPT>
 
</head>
 
<body onload="init();" onunload="clear();">
 
<div id="bonplans" class="panel4" title="Bons plans">
		<p style="text-align:left;"><font color="#4e559c" size="3px"><b>Dernières minutes :</b></font></p>
        <div id="writeDernieresMinutes"></div>
		<p style="text-align:left;"><font color="#4e559c" size="3px"><b>Offres permanentes :</b></font></p>
        <div id="writeOffresPermanentes"></div> 
</div>
 
</body>
</html>