2011-11-15 27 views
6

Sono nuovo di javascript e sto provando ad aprire un file txt in var e poi lo inietto a html div ... Ho provato a usare fopen ma non ci sono riuscito.leggi il file txt via client 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

Questo javascript è destinato a essere eseguito in un browser? –

+0

Cosa ti fa pensare che JavaScript abbia una fopen? Dov'è questo file di testo? Intendi una risorsa HTTP text/plain all'URL "info.txt" (relativa alla posizione del documento)? – Quentin

+0

Si tenta di mescolare PHP e JavaScript in modo inappropriato. Impara a differire tra i primi due, quindi puoi continuare a programmare. – HerrSerker

risposta

2

domanda abbandonata:

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; 

da Freek8

+0

Non c'è alcun segno di ASP nella domanda. C'è però DOM, che suggerisce JS lato client. – Quentin

5

Per motivi di sicurezza, Javascript è stato creato in modo da non poterlo fare. Tuttavia, una persona ha risolto il problema che potrebbe funzionare e lo ha pubblicato here.

Ok, mi rendo conto, funziona solo per i file che sono accessibili pubblicamente sul server, che credo non sia quello che si vuole fare. Tuttavia, se trovi un modo, sarà un trucco come questo, ma potrebbe anche essere corretto per non funzionare in qualsiasi momento.

+0

Questo vale per il javascript sul lato client. Si può perfettamente leggere i file sul lato server javascript. Ad esempio node.js. –

+0

Ho trovato questo collegamento che spiega come farlo ... http://www.ehow.com/how_5996745_read-file-html-script-javascript.html MA non ha funzionato – Elad

+1

Quella pagina è per lo più spazzatura. – Quentin

9

Anche se dice che la richiesta xml funziona perfettamente anche per i file txt (lato server e client).

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

Funziona, Grazie! – Elad

+0

Bello. Si prega di impostare questa risposta come risposta accettata se fosse utile. – Freek8

+1

@ Freek8: il buon senso suggerisce che non è possibile utilizzare 'XMLHttpRequest' per leggere i file dal computer client. – Dennis

8

JavaScript ha nessuna delle funzioni che si sta tentando di utilizzare.

Per leggere i file sul server in JavaScript, è possibile utilizzare XMLHttpRequest.

Non esiste un modo semplice per leggere i file sul computer client.

+0

Grazie a tutti, Questa è stata una delle risposte più veloci che ho ottenuto :) – Elad