2011-11-15 83 views
6

Soy nuevo en javascript y trato de abrir un archivo txt en var y luego insertarlo en html div ... He intentado usar fopen pero no tuve éxito.leer el archivo txt a través del cliente 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

¿Está destinado este javascript a ejecutarse en un navegador? –

+0

¿Qué te hace pensar que JavaScript tiene un fopen? ¿Dónde está este archivo de texto? ¿Te refieres a un recurso HTTP text/plain en la URL 'info.txt' (relativo al lugar donde se encuentra el documento)? – Quentin

+0

Intenta mezclar PHP y JavaScript de una manera inapropiada. Aprenda a diferenciar entre los dos primeros, luego puede continuar con la programación. – HerrSerker

Respuesta

2

pregunta abandonada:

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; 

por Freek8

+0

No hay rastro de ASP en la pregunta. Sin embargo, DOM está sugiriendo el lado del cliente JS. – Quentin

5

Por razones de seguridad, Javascript está hecho para que usted no pueda hacer esto. Sin embargo, una persona ha realizado una solución que puede funcionar y la ha publicado here.

Ok, me doy cuenta, solo funciona para los archivos que son de acceso público en el servidor, que creo que no es lo que quieres hacer. Aún así, si encuentra una forma, será un truco como este, pero también podría arreglarse para que no funcione en cualquier momento.

+0

Eso es cierto para javascript del lado del cliente. Puede perfectamente leer archivos en el lado del servidor javascript. Por ejemplo node.js. –

+0

Encontré este enlace que explica cómo hacerlo ... http://www.ehow.com/how_5996745_read-file-html-script-javascript.html PERO no funcionó – Elad

+1

Esa página es en su mayoría basura. – Quentin

9

Aunque dice solicitud XML, esto funciona perfectamente bien para los archivos txt también (lado del servidor y del cliente).

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

Funciona, ¡Gracias! – Elad

+0

Agradable. Establezca esta respuesta como respuesta aceptada si fue útil. – Freek8

+1

@ Freek8: El sentido común sugiere que no puede usar 'XMLHttpRequest' para leer archivos de la máquina del cliente. – Dennis

8

JavaScript no tiene ninguna de las funciones que están tratando de utilizar.

Para leer archivos en el servidor en JavaScript, puede usar XMLHttpRequest.

No hay una manera fácil de leer archivos en la máquina del cliente.

+0

Gracias a todos, Esa fue una de las respuestas más rápidas que obtuve :) – Elad

Cuestiones relacionadas