Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2012, 23h12   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2008
Messages : 89
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 89
Points : 10
Points : 10
Par défaut Récupérer données d'un fichier xml dans une div

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 :

Citation:
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 :
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 :
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>
gégé140488 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 08h14   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
Same Origin Policy
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 09h58   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2008
Messages : 89
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 89
Points : 10
Points : 10
Bonjour,

Tout d'abord merci pour votre réponse.

Je ne vois pas par contre où insérer la ligne Access-Control-Allow-Origin:* ?

C'est dans le html? Pouvez-vous me donner un exemple svp?
gégé140488 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h08.


 
 
 
 
Partenaires

Hébergement Web