Tekstbestand inladen

Status
Niet open voor verdere reacties.

NielsDesmet

Gebruiker
Lid geworden
19 mei 2008
Berichten
301
Ik wil in mijn script de volledige inhoud van een .txt bestand in een String steken. Is dat mogelijk en hoe doe ik dat?
 
Je moet dan denken aan een AJAX-request. Er zijn genoeg frameworks die dit ondersteunen.
 
ja, maar niemand houd van frameworks (ik in ieder geval niet).

Dit zou moeten werken.
PHP:
//js
<script type="text/javascript">
var http = false;


if(navigator.appName == "Microsoft Internet Explorer") {
  http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
  http = new XMLHttpRequest();
} 


var file = "foo.txt";
  http.open("GET", file, true);
  http.onreadystatechange=function() {
    if(http.readyState == 4) {
      var bar = http.responseText;
    }
  }
  http.send(null);

alert('de content van de file '+ file +' is '+ bar +'!!1!1!!1');

</script>
 
Laatst bewerkt:
Dat scriptje werkt goed in IE, maar niet in Firefox... hij zegt dat 'bar' undefined is...

Nog een vraagje: Hoe zorg je er nu voor dat hij alle tekstbestanden die in een bepaalde directory zitten leest, en allemaal in een array steekt? Dus als ik 3 tekstbestanden in 1 dir heb moet hij het eerste in slot 1 steken, het tweede in slot 2 etc... (en zonder elke naam te hoeven specifiëren)
 
Laatst bewerkt:
1e: ik ga even er naar kijken, check edit onder deze post straks.

2e:
Nog een vraagje: Hoe zorg je er nu voor dat hij alle tekstbestanden die in een bepaalde directory zitten leest, en allemaal in een array steekt?
Dat kan, zover ik weet, niet. Heb je php of asp voor nodig.

:thumb:


[edit]
Hm, vreemd. Kan de fout niet vinden, wat geeft FF voor fout? In ff zit een foutconsole...
[/edit]
 
Laatst bewerkt:
De foutconsole ziet er als volgt uit:

syntaxisfout
[Pad van foo.txt hier] Regel:1
[Inhoud van foo.txt hier]
 
Dat het script je niet werkt in Firefox, heeft waarschijnlijk te maken met de laadtijd. De alert wordt aangeroepen voordat de bar is gevuld. Oplossing is dus:
Code:
<script type="text/javascript">
var http = false;

if(navigator.appName == "Microsoft Internet Explorer") {
	http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
	http = new XMLHttpRequest();
} 

var file = "foo.txt";
http.open("GET", file, true);
http.onreadystatechange=function() {
	if(http.readyState == 4) {
		var bar = http.responseText;
		alert('de content van de file '+ file +' is '+ bar +'!!1!1!!1');
	}
}
http.send(null);
</script>
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan