2011-09-10 9 views
5

que utiliza el código siguiente para leer un archivo de JavaScriptarchivo de lectura con resultados XMLHttpRequest en la entrada de la consola de error

var filePath = "SBL_PROBES.txt"; 
    xmlhttp = new XMLHttpRequest(); 
    xmlhttp.open("GET",filePath,false); 
    xmlhttp.send(null); 
    var fileContent = xmlhttp.responseText; 
    var fileArray = fileContent.split('\n') 
    var n = fileArray.length; 

Las cosas van bien y que puede acceder el contenido del archivo de fileArray. PERO aparece un error en la consola de error de Firefox quejándose del contenido de la línea 1 del archivo. No quiero que el archivo sea interpretado por javascript o firefox, todo lo que quiero son los contenidos que analizo con javascript.

La consola de Firefox dice

de error: error de sintaxis Archivo de origen: file: /// C: /Documents%20and%20Settings/Mike/Desktop/mustache/SBL_PROBES.txt Línea: 1, Columna: Código 1 Fuente: "título" "Nombre corto" "nombre largo" "actual", "máximo", "mínimo", "Día de Max", "Día Min"

si pongo <blockquote> </blockquote> en el archivo, los errores desaparecen!

¿Qué está pasando y cómo puedo solucionarlo?

¿Debo hacer algo para cerrar el archivo? ¿Las cosas se limpiarán cuando estos vars salgan del alcance?

+0

Quejándose de qué exactamente, ¿cuál es el mensaje de error? De todos modos, podría ser más factible usar un marco para operaciones Ajax como jQuery: http://api.jquery.com/jQuery.ajax/ que elimina las incoherencias entre navegadores –

+0

¿Cuál es el error? ¿Pasa lo mismo en Chrome? –

+0

¿Dónde se encuentra este archivo? Debe ingresar la URL completa como el segundo parámetro en 'xmlhttp.open()'. Algo como 'xmlhttp.open (" GET "," http://mydomain.com/SBL_PROBES.txt ", falso)'; – styfle

Respuesta

13

Esto debería solucionarlo:

xmlhttp.overrideMimeType('text/plain'); 

Por defecto parece que los archivos locales se analizan con el XMLParser.

+1

Sí, lo arregla! ¡Muchas gracias! Creo que dejaré las etiquetas

en mis archivos para marcar el principio y el final, y también los mostraré. Mi analizador puede ignorarlos. –

Cuestiones relacionadas