XML Datei in HTML laden

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

xhttp.send()
xmlDoc=xhttp.responseXML

Hallo, da kann ich Dir leider nicht weiterhelfen. Viel Glück noch bei der weiteren Suche.

mfg

Hallo,

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/

Gruß
Heavy

Hallo Stöffel84,

geht es so?

\<!--
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. :smile:

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…

http://blogs.msdn.com/b/ieinternals/archive/2010/05/…

http://stackoverflow.com/questions/3362474/jquery-aj…

Hi, das Thema ist nicht meine Kernkompetenz, aber ich hab folgendes gefunden:

http://www.jibbering.com/2002/4/httprequest.html

Der Suchlink:

[https://www.google.de/search?hl=de&sclient=psy-ab&q=…](https://www.google.de/search?hl=de&sclient=psy-ab&q=http.open(+get+url+true)&oq=xhttp.open(%22GET%22,%22&gs_l=hp.1.0.0i19j0i30i19j0i13i30i19l2.42765.43882.2.52962.20.8.0.0.0.6.390.851.7j3-1.8.0...0.0...1c.KpZFBWXiWCU&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&biw=1600&bih=775&emsg=NCSR&noj=1&ei=I681UKn9IqOu0QXwwYDIBw&sei=W681UPT7B4jL0QXj4IGQBQ&gbv=2)

Viel Erfolg

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

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

Hallo,

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.

lg Steffen

servus stöffel,

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.

gruß
people

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_

Sorry, da weiß ich auch nicht weiter.

Ingrid