2017-06-28 2 views
0

Mon code est:en utilisant javascript pour ouvrir le fichier xml

function loadDoc() { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.open("GET", "results.xml", false); 
    xhttp.send(); 
    myFunction(xhttp);//(this); 
} 
function myFunction(xml) 
{ 
    var xmlDoc = xml.responseXML; 
    var parser = new DOMParser(); 
    var xmlDoc = parser.parseFromString(xml.responseText, "application/xml"); 
    var x;  
    var txt = ""; 
    var y; 
    y = xmlDoc.getElementsByTagName("entryresult");//.childNodes[0]; 
    x = y[1].getElementsByTagName("title")[0].childNodes[0].nodeValue; 
    alert(x); 
} 

J'utilise CakePHP. Mon custom.js se trouve dans webroot/js. Mon fichier xml results.xml se trouve dans le même dossier.

Mais toujours reçu le message:

Ces erreurs sont de la console (F12).

Mon code fait cela parce que je ne peux pas aller plus loin que la ligne avant l'alerte. Je pense que j'essaie de lire un fichier d'un autre dossier.

+1

Votre première question est que vous obtenez une erreur 404, il ne peut pas trouver votre fichier results.xml. 'GET XHR http: //localhost/cakephp-3-4-3/result/results.xml [HTTP/1.1 404 pas trouvé 422ms]' Cela signifie que le fichier results.xml n'est pas accessible au public, ou il recherche dans le mauvais emplacement pour cela ('/ cakephp-3-4-3/result/results.xml') – AlienHoboken

+0

Modifié: xhttp.open (" GET "," results.xml ", false); à: xhttp.open ("GET", "../webroot/files/p1/results.xml", false); Maintenant, il a continué avec les étapes suivantes. –

Répondre

0

Mon problème a été résolu en changeant la ligne: xhttp.open("GET", "results.xml", false); à: xhttp.open("GET", "results.xml", false);