Hallo
Wobei mein Code vollgendes ausgibt.
httpRequest = new ActiveXObject("Microsoft.XMLHTTP")
httpRequest.open("GET", "http://en.wikipedia.org/w/query.php?format=xml&what=revisions&rvlimit=16&rvcomments&titles=User_talk:Invitatious", false);
httpRequest.send(null);
httpRequest.getAllResponseHeaders() //ist leerer String
httpRequest.responseXML.documentElement // ist null
Mein IE macht das. Er gibt nur eine Warnung aus:
Die Seite greift auf Informationen aus anderen Daten zu.
Dies kann ein Sicherheitsproblem darstellen. Möchten
Sie den Vorgang fortsetzten?
[Ja] [Nein]
Bei "Ja" wird der Request ausgeführt und sowohl httpRequest.getAllResponseHeaders() als auch httpRequest.responseXML.documentElement sind befüllt.
Allerdings stolperst Du mit dieser Idee in eine böse Falle, wenn Du das Ganze mal für nicht-IE-Browser umsetzen willst. Auch bei Ajax gilt die same origin policy siehe auch http://forum.de.selfhtml.org/archiv/2006/4/t127959/. Du kannst also nicht einfach einen XMLHTTPRequest auf eine ganz andere Domain ausführen.
Eventuell haben die IEs unter XP da auch bereits striktere Regeln. Probier mal:
try {
httpRequest.open("GET", "http://en.wikipedia.org/w/query.php?format=xml&what=revisions&rvlimit=16&rvcomments&titles=User_talk:Invitatious", false);
httpRequest.send(null);
if (httpRequest.status == 200) {
alert(httpRequest.getAllResponseHeaders());
alert(httpRequest.responseXML.documentElement);
} else {
alert("ERROR: "+ httpRequest.status);
}
} catch (ex) {
alert(ex);
}
viele Grüße
Axel