JavaScript/DOM lokale Datei auslesen?
Hay, ist es möglich mittels js auf einer html Seite eine txt auszulesen und in ein Div zu packen? Ich habe es mit Fetch versucht da kommt aber nur das er die Datei nicht findet.
1 Antwort
Das ist mit Fetch möglich, sofern du die richtige Adresse zur Datei angibst und zusätzlich Zugriffsrechte bestehen. Sollte die Datei bspw. nur über eine andere Domain erreichbar sein, wird der Aufruf standardmäßig blockiert (Stichwort: CORS).
fetch("http://somedomain.de/file.txt")
.then(response => response.text())
.then(data => document.getElementById("id-of-div").textContent = data);
Sofern du bei dir lokal auf dem eigenen Rechner testen möchtest, installiere einen Webserver (IIS / Apache / ...) und rufe dein HTML-Dokument über diesen auf http://localhost/...). Wenn du die Datei über das file://-Protokoll öffnest, wird dein Browser einen Request blockieren.
Ich hatte mein Snippet fast so weit, im Grunde identisch zu deinem bloß innerhalb einer function angelegt. Du warst aber etwas schneller. ;)
Da du in deiner Fragestellung einen 404 Response andeutest, würde ich zunächst davon ausgehen, dass der Pfad nicht korrekt ist.
Schau zusätzlich in die Entwicklerkonsole (Console / Network). Der Responsecode wäre von Interesse (sofern er von 404 abweicht) und etwaige Fehlermeldungen bezüglich CORS/o.ä..
muss er aber. Der Express Server Schickt dir index.html die in einem Ordner liegt an den Client. Die Html file hat aber eine txt im selben ordner mit dem name text.txt ich habe versucht von dem Server auszugehen und ich habe es so wie man es im Snippet sieht von der HTML aus getestet
Okay geht das ganze auch mit ./text.txt oder muss die domain dran stehen?