Recibo un error "no bien formado" en la consola de error de Firefox 3.0.7 cuando el JavaScript de mi página carga un archivo de texto que contiene un objeto en formato de notación de objetos JavaScript. Si el archivo no contiene nada más que el objeto JSON, produce el error. Si envuelvo el objeto en <documento> </document > etiquetas, no produce el error. La solicitud tiene éxito de cualquier manera, así que podría ignorarla, pero no quiero que mi registro de errores se llene con estos mensajes.error "no bien formado" en Firefox al cargar el archivo JSON con XMLHttpRequest
Aquí hay algunos ejemplos de código para ilustrar el problema. En primer lugar, el "no bien formado" archivo llamado "data.json":
{ a: 3 }
Ahora algo de código para cargar el archivo:
que produce el siguiente error en la consola de errores de Firefox:
no bien formada
archivo: Línea //path/to/data.json: 1
{a: 3}
-^
Si data.json se modifica para esto:
<document>{ a: 3 }</document>
No hay error. Supuse que se estaba quejando porque el archivo JSON simple no es un documento XML bien formado, así que intenté sobreescribir el tipo MIME antes de la llamada "enviar" para forzarlo a cargar como texto sin formato, pero eso no funcionó.
var req = new XMLHttpRequest();
req.open("GET", "data.json");
req.overrideMimeType("text/plain");
req.send(null);
// Still produces an error!
Voy a continuar con envolviendo mis datos JSON en un documento XML para moverse por lo validación del XMLHttpRequest está llevando a cabo, pero me gustaría saber si hay alguna manera de que pueda obligarlo a cargar solo texto sin formato acríticamente y no intentar validarlo. Alternativamente, ¿hay otro método para cargar datos además de XMLHttpRequest que pueda usarse con texto sin formato?
Esto funciona, ¡gracias! –
Para ser más específicos: req.overrideMimeType ("application/json"); req.send (null); funciona. Especificar el tipo MIME en el servidor sería la mejor solución, pero anularla también funciona. –
¡Esto es genial! Esto funciona para mi. ¡Gracias! – shaosh