2011-11-15 15 views
6

Jestem nowy w javascript i próbuję otworzyć plik txt w var, a następnie wstrzyknąć go do html div ... Próbowałem użyć fopen, ale mi się nie udało.odczytać plik txt za pośrednictwem klienta javascript

<script type="text/javascript"> 
file = fopen(getScriptPath("info.txt"), 0); 


file_length = flength(file); 
var content = fread(file,file_length); 
var div = document.getElementById("myDiv"); 
//alert(div); 
div.innerHTML = ""; 
div.innerHTML = content; 
</script> 
+1

Czy ten javascript ma być uruchamiany w przeglądarce? –

+0

Co sprawia, że ​​JavaScript ma fopen? Gdzie jest ten plik tekstowy? Masz na myśli tekst/zwykły zasób HTTP pod adresem URL "info.txt" (w stosunku do miejsca, w którym znajduje się dokument)? – Quentin

+0

Próbujesz łączyć PHP i JavaScript w niewłaściwy sposób. Naucz się najpierw różnić między dwoma, a następnie możesz przejść do programowania. – HerrSerker

Odpowiedz

2

opuszczony pytanie:

if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.open("GET","YOUR_FILE.txt",false); 
xmlhttp.send(); 
xmlDoc=xmlhttp.responseText; 

przez Freek8

+0

W pytaniu nie ma oznak ASP. Istnieje jednak DOM, który sugeruje JS po stronie klienta. – Quentin

5

Ze względów bezpieczeństwa, JavaScript jest wykonany, więc nie można tego zrobić. Jednak osoba podjęła obejście, które może zadziałać i opublikować go here.

Ok, zdaję sobie sprawę, działa tylko dla plików, które są publicznie dostępne na serwerze, co, jak sądzę, nie jest tym, co chcesz zrobić. Mimo to, jeśli znajdziesz sposób, będzie to taki hack, ale można go również naprawić, aby nie działał w dowolnym momencie.

+0

To samo dotyczy javascript po stronie klienta. Możesz doskonale dobrze odczytywać pliki po stronie serwera javascript. Na przykład node.js. –

+0

Znalazłem ten link, który wyjaśnia, jak to zrobić ... http://www.ehow.com/how_5996745_read-file-html-script-javascript.html ALE to nie działało – Elad

+1

Ta strona to głównie śmieci. – Quentin

9

Chociaż mówi o żądaniu xml, działa to doskonale również w przypadku plików txt (po stronie serwera i klienta).

if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.open("GET","YOUR_FILE.txt",false); 
xmlhttp.send(); 
xmlDoc=xmlhttp.responseText; 
+0

Działa, Dziękuję! – Elad

+0

Nice. Ustaw tę odpowiedź jako zaakceptowaną, jeśli była przydatna. – Freek8

+1

@ Freek8: Zdrowy rozsądek sugeruje, że nie można używać 'XMLHttpRequest' do odczytywania plików z komputera klienta. – Dennis

8

JavaScript żaden z funkcjami próbują wykorzystać.

Aby odczytać pliki na serwerze w JavaScript, można użyć XMLHttpRequest.

Nie ma łatwego sposobu odczytywania plików na komputerze klienta.

+0

Dzięki wszystkim, To była jedna z najszybszych odpowiedzi, jakie dostałem :) – Elad

Powiązane problemy