2011-10-05 7 views
0

Je suis en train d'exécuter le code exemple sur W3School http://www.w3schools.com/xml/xml_to_html.aspchargement xml avec le javascript

j'ai copié les codes html + js et enregistré dans un fichier html. J'ai également téléchargé leur fichier cd_catalog.xml et l'ai placé juste à côté du fichier html.

Mais quand je lance le code HTML sur Chrome, il ne montre rien. Il ne fonctionne pas non plus sur IE.

Semble le problème est sur la ligne "xmlhttp.send()", parce que j'ai essayé de mettre une alerte juste avant, l'alerte a montré, mais si je mets l'alerte après cette ligne, alors il ne montrera pas en haut

Quelqu'un peut-il vous aider s'il vous plaît?

<html> 
<body> 

<script type="text/javascript"> 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.open("GET","cd.xml",false); 
alert("before"); 
xmlhttp.send(); 
alert("after"); 
xmlDoc=xmlhttp.responseXML; 

document.write("<table border='1'>"); 
var x=xmlDoc.getElementsByTagName("CD"); 
for (i=0;i<x.length;i++) 
    { 
    document.write("<tr><td>"); 
    document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue); 
    document.write("</td><td>"); 
    document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue); 
    document.write("</td></tr>"); 
    } 
document.write("</table>"); 
</script> 

</body> 
</html> 

le fichier xml est http://www.w3schools.com/xml/cd_catalog.xml

+0

Copiez et collez également le fichier modifié. Cela pourrait aider. –

+0

Vérifiez la sortie de la console javascript dans Chrome et/ou IE pour la description de l'erreur. –

Répondre

1

Cela ne fonctionnera pas si vous exécutez la page en tant que fichier local. Vous devez l'exécuter via un serveur Web (comme Apache) pour que la conversation client/serveur http fonctionne. Pouvez-vous vérifier que vous l'exécutez via un serveur Web?

+0

hi @arronfrost - pourriez-vous me dire, est de placer le code sur un site d'hébergement gratuit équivalent à l'exécution du code sur un serveur web local? – marked

+1

Oui. Tant que le fichier est servi à partir du protocole http/https, alors c'est pareil. – frosty

+0

merci @arronfrost - désolé pour les réponses intermittentes. Je n'ai pas de chance avec mon code là-bas, est-ce que c'est OK de placer tous les fichiers dans le répertoire html public? Peut-être que je devrais ouvrir une question ... – marked

0

@ utilisateur956159: Veuillez indiquer l'emplacement/le chemin de votre fichier d'extraction dans xmlhttp.open.

xmlhttp.open("GET","/Users/karthik/Desktop/cd_catalog.xml",false); 

Ceci est dans un emplacement de chemin de fichier Mac, je l'ai testé dans mon système, il & fonctionne très bien après avoir changé le chemin du fichier.

vous pouvez utiliser "File://users/karthikin/mydocuments/cd_catalog.xml" ou "File://C:/cd_catalog.xml" Si vous utilisez Windows essayez ceci dans le xmlhttp.open.

La méthode ci-dessus pour charger les fichiers localement, si vous voulez passer par un serveur web (comme Apache) votre code fonctionnera exactement.

Questions connexes