ich versuche eine XML-Datei zu laden die sich
im selben Ordner befindet wie die html-Datei. mit xmlDoc.load() hat das schon funktioniert, allerdings funktioniert das nicht serverübergreifend. Daher habe ich es mit diesem script versucht. Allerdings geht das nicht und ich weiß nicht woran es liegt.
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xhttp=new ActiveXObject(„Microsoft.XMLHTTP“)
}
xhttp.open(„GET“,„exported.xml“,false) //<<hier findet sich ein fehler
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xhttp=new ActiveXObject(„Microsoft.XMLHTTP“)
}
xhttp.open(„GET“,„exported.xml“,false) //<<hier findet sich
ein fehler
xhttp.send()
xmlDoc=xhttp.responseXML
Ich bin kein Experte für JavaScript. Wie äußert sich der Fehler denn? Hast du mal den HTTP Status im Fehlerfall ausgegeben? Oder versucht ggf. auftretende Fehler abzufangen wie hier: http://forum.de.selfhtml.org/archiv/2012/3/t209624/
\<!--
var xhttp = null;
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
window.onload = function() {
if (xhttp != null) {
xhttp.open("GET", "exported.xml", false);
xhttp.onreadystatechange = ausgeben;
xhttp.send(null);
}
}
function ausgeben() {
if (xhttp.readyState == 4) {
var xmlDoc = xhttp.responseXML;
.....
}
}
--\>
Leider weiß ich nicht, welche Fehlermeldung Du genau bekommst, aber die Deklaration Deines Skriptes, die fehlenden Variablendeklarationen und die fehlenden Semikolons am Zeilende könnten auch einfach bedeuten, dass das Skript derzeit gar nicht lauffähig ist.
Die Same-Domain-Policy macht dir einen Strich durch die Rechnung. Im IE kann ein Javascript nur Daten aus der selben Domain nachladen.
Infos zu diesem Thema findest Du unter: http://msdn.microsoft.com/en-us/library/ms537505%28V…
vielen dank für die ganzen Hilfeversuche, es scheint leider echt an der Same-Domain-Policy zu liegen wie Snoopy gesagt hat. Da ich den speicherort aber leider nicht wirklich verändern kann da die xml Datei von einem anderen Programm lokal erzeugt wird werde ich mir einen anderen Weg der Darstellung suchen müssen.
funktioniert das nicht serverübergreifend. Daher habe ich es
mit diesem script versucht. Allerdings geht das nicht und ich
das kenn ich: vom gleichen server gehts, serverübergreifend nicht.
ich denk, das liegt daran, dass man so relativ einfach böses tun könnte (cross-site-scripting?) und die browserhersteller daher beschlossen haben, durch abschalten vorzubeugen.
mein workaround das letzte mal war, per php den remote-inhalt abzuholen: http://php.net/stream_context_create
dann bekommt der browser seinen xml-http-reponse vom gleichen server und ist zufrieden.
Hallo Stöffel84,
leider kann ich dir bei Javascript nicht weiterhelfen. Ich verwende meist PHP oder andere serverseitige Lösungen, die bei abgeschaltetem Javascript weiterhin funktionieren. Am elegantesten wäre natürlich XSL-Transformation, aber aus deiner Anfrage ist auch nicht ganz raus gekommen was du genau vorhast.
Viele Grüße
Sebastian_