Problemas con jQuery getJSON usando archivos locales en Chrome

Resuelto Tauren asked hace 14 años • 7 respuestas

Tengo una página de prueba muy simple. que usa solicitudes XHR con los métodos $.getJSON y $.ajax de jQuery. La misma página funciona en algunas situaciones y en otras no. Específicamente, no funciona en Chrome en Ubuntu.

Estoy probando en Ubuntu 9.10 con Chrome 5.0.342.7 beta y Mac OSX 10.6.2 con Chrome 5.0.307.9 beta.

  • Funciona correctamente cuando los archivos están instalados en un servidor web tanto desde Ubuntu/Chrome como desde Mac/Chrome ( pruébelo aquí ).
  • Funciona correctamente cuando los archivos están instalados en el disco duro local en Mac/Chrome (al que se accede con file:///...).
  • FALLA cuando los archivos se instalan en el disco duro local en Ubuntu/Chrome (acceda con file:///...).

El pequeño conjunto de 3 archivos se puede descargar en un archivo tar/gzip desde aquí: http://issues.tauren.com/testjson/testjson.tgz

Cuando funcione, la consola de Chrome dirá:

XHR finished loading: "http://issues.tauren.com/testjson/data.json".
index.html:16Using getJSON
index.html:21
Object
result: "success"
__proto__: Object
index.html:22success
XHR finished loading: "http://issues.tauren.com/testjson/data.json".
index.html:29Using ajax with json dataType
index.html:34
Object
result: "success"
__proto__: Object
index.html:35success
XHR finished loading: "http://issues.tauren.com/testjson/data.json".
index.html:46Using ajax with text dataType
index.html:51{"result":"success"}
index.html:52undefined

Cuando no funciona, la consola de Chrome mostrará esto:

index.html:16Using getJSON
index.html:21null
index.html:22Uncaught TypeError: Cannot read property 'result' of null
index.html:29Using ajax with json dataType
index.html:34null
index.html:35Uncaught TypeError: Cannot read property 'result' of null
index.html:46Using ajax with text dataType
index.html:51
index.html:52undefined

Observe que ni siquiera muestra las solicitudes XHR, aunque se ejecuta el controlador de éxito. Juro que esto funcionaba anteriormente en Ubuntu/Chrome y me preocupa que algo se haya estropeado. Ya desinstalé y reinstalé Chrome, pero eso no ayudó.

¿Alguien puede probarlo localmente en su sistema Ubuntu y decirme si tiene algún problema? Tenga en cuenta que parece funcionar bien en Firefox.

Tauren avatar Mar 30 '10 06:03 Tauren
Aceptado

Otra forma de hacerlo es iniciar un servidor HTTP local en su directorio. En Ubuntu y MacOs con Python instalado, es una frase breve.

Vaya al directorio que contiene sus archivos web y:

python -m SimpleHTTPServer

Luego conéctese a http://localhost:8000/index.html con cualquier navegador web para probar su página.

Sébastien RoccaSerra avatar May 03 '2011 12:05 Sébastien RoccaSerra

Este es un problema conocido con Chrome.

Aquí está el enlace en el rastreador de errores:

Problema 40787: los archivos locales no se cargan con Ajax

Daniel Furrer avatar May 07 '2010 11:05 Daniel Furrer