tipos lista leer funciones etiquetas especificas ejemplos contenido codigo archivo acciones javascript

leer - lista de etiquetas javascript



¿Cómo cargo el contenido de un archivo de texto en una variable de JavaScript? (8)

Tengo un archivo de texto en la raíz de mi aplicación web http://localhost/foo.txt y me gustaría cargarlo en una variable en javascript ... en groovy, haría esto:

def fileContents = ''http://localhost/foo.txt''.toURL().text; println fileContents;

¿Cómo puedo obtener un resultado similar en javascript?


Cuando se trabaja con jQuery, en lugar de usar jQuery.get , por ejemplo

jQuery.get("foo.txt", undefined, function(data) { alert(data); }, "html").done(function() { alert("second success"); }).fail(function(jqXHR, textStatus) { alert(textStatus); }).always(function() { alert("finished"); });

podrías usar .load que te da una forma mucho más condensada:

$("#myelement").load("foo.txt");

.load le ofrece también la opción de cargar páginas parciales que pueden ser útiles, consulte api.jquery.com/load/ .


Esto debería funcionar en casi todos los navegadores:

var xhr=new XMLHttpRequest(); xhr.onload=function(){ console.log(xhr.responseText); } xhr.open("GET","https://12Me21.github.io/test.txt"); xhr.send();

Además, está la nueva Fetch API:

fetch("https://12Me21.github.io/test.txt") .then( response => response.text() ) .then( text => console.log(text) )


Si solo desea una cadena constante del archivo de texto, puede incluirla como JavaScript:

// This becomes the content of your foo.txt file let text = ` My test text goes here! `;

<script src="foo.txt"></script> <script> console.log(text); </script>

La cadena cargada desde el archivo se vuelve accesible a JavaScript después de ser cargada. El carácter `(retroceso) comienza y termina una plantilla literal , lo que permite tanto" y "caracteres en su bloque de texto.

Este enfoque funciona bien cuando intenta cargar un archivo localmente, ya que Chrome no permitirá AJAX en las URL con el esquema file:// .


Si su entrada se estructuró como XML, puede usar la función importXML . (Más información aquí en quirksmode ).

Si no es XML, y no hay una función equivalente para importar texto sin formato, entonces puede abrirlo en un iframe oculto y luego leer los contenidos desde allí.


Una cosa a tener en cuenta es que Javascript se ejecuta en el cliente y no en el servidor. Realmente no se puede "cargar un archivo" desde el servidor en Javascript. Lo que sucede es que Javascript envía una solicitud al servidor y el servidor devuelve el contenido del archivo solicitado. ¿Cómo recibe Javascript los contenidos? Para eso es la función de devolución de llamada. En el caso de Edward, eso es

client.onreadystatechange = function() {

y en el caso de Danb, es

function(data) {

Esta función se invoca cada vez que llegan los datos. La versión de jQuery usa implícitamente Ajax, simplemente hace que la codificación sea más fácil al encapsular ese código en la biblioteca.



XMLHttpRequest, es decir, AJAX, sin el XML.

La manera precisa de hacerlo depende del marco de JavaScript que esté utilizando, pero si no tomamos en cuenta los problemas de interoperabilidad, su código tendrá el siguiente aspecto:

var client = new XMLHttpRequest(); client.open(''GET'', ''/foo.txt''); client.onreadystatechange = function() { alert(client.responseText); } client.send();

En términos generales, sin embargo, XMLHttpRequest no está disponible en todas las plataformas, por lo que se realiza un poco de chapuza. Una vez más, su mejor opción es usar un marco AJAX como jQuery.

Una consideración adicional: esto solo funcionará siempre que foo.txt esté en el mismo dominio. Si se trata de un dominio diferente, las políticas de seguridad del mismo origen le impedirán leer el resultado.


así es como lo hice en jquery:

jQuery.get(''http://localhost/foo.txt'', function(data) { alert(data); });