leer archivo externo con Javascript

Tengo un externo archivo de texto de longitud variable denominada profiles.txt con la información en el siguiente formato:

 Jason/Red/Tyrannosaurus
 Zack/Black/Mastodon
 Billy/Blue/Triceratops
 Trini/Yellow/Griffin
 (etc)

¿Cómo se puede leer el archivo de JavaScript para la salida del siguiente código HTML:

 Name: Jason<br>
 Color: Red<br>
 Avatar: Tyrannosaurus<br>
 <br>
 Name: Zack<br>
 Color: Black<br>
 Avatar: Mastodon<br>
 <br>
 (etc)
  • Donde está el código JavaScript que se ejecuta? Desde el navegador?
  • javascript en el navegador, el archivo externo es .txt archivo que se encuentra en el mismo dominio que el .html y archivos de javascript
InformationsquelleAutor Henry Yun | 2011-09-13

4 Kommentare

  1. 5

    He aquí un ejemplo de uso de XMLHttpRequest:

    var xmlhttp;
    xmlhttp=new XMLHttpRequest();
    xmlhttp.open('GET', "test.txt", false);
    xmlhttp.send();
    document.write(xmlhttp.responseText.split('\r\n').map(function (i) {return i.replace(/(.+),(.+),(.+)/g, 'Name: $1<br>Color: $2<br>Avatar: $3<br>')} ).join('<br/>'));

    Array.mapa necesita ser calza en IE8 e inferiores. También, es decir, utiliza new ActiveXObject("Msxml2.XMLHTTP")
    Este es un muy adelgazado ejemplo. Estoy usando asyc falsa de lo que es malo y documento.escribir, lo que es malo. Pero yo sólo quería demostrar conseguir el archivo y el análisis de la entrada.

    • Este código de trabajo para obtener el contenido de un archivo de texto que es en el servidor. Código válido, sí, pero no creo que el archivo de la OP está trabajando con se encuentra en el servidor – la palabra «externo» en la pregunta me lleva a esta conclusión.
    • ¿es en serio? Donde es externo? Si no está en el servidor, donde es? Supongo que lo que estoy diciendo es la razón por la downvote mí si usted no tiene ninguna idea de lo que el OP realmente quiere. Que frío
    • Quién sabe? Acabo de notar que este código sólo se aplica si el archivo está en el servidor es cierto, o no? No estoy seguro de qué aspecto de esta declaración, usted puede encontrar increíbles. EDIT: Fresco, OP especifica que el archivo es en el servidor. Buena oferta. (FYI – no downvotes de mí, hombre)
    • No se preocupe, tiene un +1 para penetrar en la niebla de vagary 🙂
  2. 4

    SÓLO se APLICA SI YA NO ESTÁ EL ARCHIVO EN EL SERVIDOR (no se especifica en la pregunta)

    Sin publicar el archivo en el servidor o pegar el contenido del archivo en un cuadro de texto, actualmente no existe una forma de javascript para interactuar directamente con el sistema de archivos.

    También por razones de seguridad, javascript no puede, por sí mismo, mirar el contenido de un archivo que se ha seleccionado el uso de un tipo de archivo de entrada.

    Así, sus opciones son:

    • Subir el archivo al servidor usando AJAX-formato de estilo post, devolver el contenido (plugin de jQuery con AJAX carga de archivos)
    • De enviar el archivo a través de la forma normal de devolución, cuando la página se recarga puede pasar los contenidos a lo largo de javascript JSON escrito a la salida
    • Copiar/pegar los datos en un textarea, el uso de un evento onKeyUp para detectar la entrada de datos (o agregar un «Proceso» botón) para leer el textarea contenido y a partir de ahí (la muestra)
  3. 0

    No hay ningún archivo de e/S en javascript por razones de seguridad. Su mejor apuesta es para exponer este archivo de texto en su código de servidor y hacer una llamada ajax para que desde el javascript

  4. -2
    var fileRead = "Jason,Red,Tyrannosaurus\nZack,Black,Mastodon\nBilly,Blue,Triceratops\nTrini,Yellow,Griffin";
    var lines = fileRead.split("\n");
    
    for (var i in lines){
        var pdata = lines[i].split(",");
        jQuery("#ResultDiv").append("Name: " + pdata[0] + "<br/>Color: " + pdata[1] + "<br/>Avatar: " + pdata[2] + "<br/><br/>" );
    }

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea