Ajax - lesen von lokalem File

N

Netzwerkidi

Hallo,

ich habe lokal einen File (testseite.html) liegen, dessen Inhalt ich mir mit folgendem HTML-Code anzeigen lassen will (Verzeichnis identisch). Das klappt aber nicht. Wenn ich den anderen File (http://de.yahoo.com/) aufrufen will - kein Problem.
Ich habe nun extra schon mal einen Mini-Webserver (AIDex) zum Testen installiert, aber der File (testseite.html) will einfach nicht gelesen werden.
Was kann der Grund sein? Was mache ich falsch? Falsches Hobby?


Grüße

Netzwerkidi

HTML:
<html>
  <head>
  
<script type="text/javascript">

function loadXMLDoc() {
    var url = 'testseite.html'; 
    //var url = 'http://de.yahoo.com/';   
    var httpRequest;
    if (window.XMLHttpRequest) {
        httpRequest = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        httpRequest = new ActiveXObject('Msxml2.XMLHTTP');
    }
    httpRequest.open('GET', url, true);
    httpRequest.onreadystatechange = function(evt) {
        if (httpRequest.readyState == 4) {
            //alert(httpRequest.responseText);
            document.getElementById("myDiv").innerHTML = httpRequest.responseText;
        }
    };
    httpRequest.send(null);
}
</script>

  </head>
  <body onload="loadXMLDoc()">
    <div id="myDiv"><h2>Let AJAX change this text</h2>
    </div>
    <button type="button" onclick="loadXMLDoc()">Change Content
    </button>
  </body>
</html>
 
Hallo CPoly,
wenn ich den Code lokal bei mir auf dem Notebook (Laufwerk X:) ausführe, wird Yahoo geladen und der lokale File nicht.
Grüße
 
Hi noch mal,

ups, das hat sich gerade teilweise geklärt.

Also folgende Fälle exisiteren:

Lesen yahoo-File:

mit FF - nicht möglich, vorhandener Text verschwindet bei Klick auf Button
mit IE - möglich, vorhandener Text verschwindet bei Klick auf Button, http://www.yahoo.com ohne Formatierung (vermutlich ohne CSS)
mit IE-Engine PSPad - wie IE
mit Opera - nicht möglich, vorhandener Text ändert sich nicht bei Klick auf Button


Lesen lokaler File:


mit FF - möglich
mit IE - nicht möglich, vorhandener Text ändert sich nicht bei Klick auf Button
mit IE-Engine PSPad - wie IE
mit Opera - nicht möglich, vorhandener Text verschwindet bei Klick auf Button


Grüße
 
Zuletzt bearbeitet von einem Moderator:
Das bezweifle ich doch sehr.

Wie CPoly bereits sagte gilt in diesem Fall die same Origin Policy.
Und (oh Wunder) da hält sich sogar der Internet Explorer dran.

Bzgl. lokaler Datei:
Wie rufst du denn die Datei die oben genannten code ausführen soll im Browser auf?
Mit http://localhost.... oder mit file:////... ?
 
Warum sollte ich hier etwas schreiben, was nicht den Tatsachen entspricht?
Aufruf wie im Script oben ersichtlich.
Wenn ich den File im Browser direkt aufrufe, mit File://...
 
Ich behaupte ja nicht das du lügst sondern das es nicht sein kann ;).

Da du ja eh schon einen webserver zur Hand hast (der hoffentlich funktioniert) mach mal folgendes.
Erstell mal im Documentroot deines webservers eine test.html.
Da kopierst du dann den code von oben rein.
Ebenfalls ins Documentroot schmeisst du dann die testseite.html.

Dann machst du einen Browser deiner Wahl auf und gehst nach http://localhost/test.html und schaust was passiert.
 
@rd4eva
Mit Webserver (http://localhost/) läuft es auf allen drei von mir verwendeten Browsern wie im FF mit dem lokalen File, d .h. der Text aus dem aufgerufenen File wird mit Formatierung (roter Background) angezeigt.
Der Yahoo-File wird nicht angezeigt, im FF verschwindet der eingeblendete Text (Let AJAX change this text).
Grüße
 
Zurück