Mam taki problem, że potrzebuje wczytać plik XML client-side bez użycia Ajaxa (bez konieczności tworzenia serwera). Gdy próbuję to zrobić z użyciem AJAX calls to wyświetla mi się Cross Origin Error ze względów bezpieczeństwa.
Szukałem znaleźć obejście... ale jedyne co znalazłem to parsowanie XML do Stringa (co działa), jeżeli nasz plik XML jest w HTMLu. Ale co zrobić jeżeli nasz plik XML to osobny plik?
Próbowałem wczytać przez iFrame... ale też coś słabo mi z tym poszło, bo nie wiedziałem jak zamienić to na Stringa.
Może do problemu podchodzę źle i da się to zrobić prościej? Podobnie sprawa ma się z plikami tekstowymi. Opcją, którą działa jest załadowanie pliku z dysku, ale to rozwiązanie zbytnio mnie nie zadowala. Z góry dzięki za odpowiedź ;)
Wrzucam przy okazji kod, który mam.
<script src="./node_modules/bonsai/lib//bonsai.min.js"></script>
<script src="./node_modules/jquery/dist/jquery.js"></script>
<script src="app.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<iframe id="textfile" src="books.xml"></iframe>
<html>
<body>
<div id='target'></div>
<p id="demo"></p>
<script>
var doc = document.getElementById('textfile');
console.log(doc);
var text, parser, xmlDoc;
text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
parser = new DOMParser();
xmlDoc = parser.parseFromString(text, "text/xml");
document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>
</body>
</html>