Al intentar hacer una solicitud HTTP usando XMLHttpRequest desde un archivo local, básicamente falla debido a una Access-Control-Allow-Origin
violación.
Sin embargo, estoy usando la página web local, así que me preguntaba si hay alguna forma de hacer que Google Chrome permita estas solicitudes, que van desde un archivo local a una URL en Internet.
Por ejemplo, $.get('http://www.google.com/')
falla cuando se ejecuta en un archivo local, pero yo mismo he escrito la página y la estoy usando, por lo que sería extremadamente útil si pudiera suprimirla y cargar la URL.
Entonces, ¿cómo puedo permitir que Google Chrome cargue URL usando XMLHttpRequest de archivos locales?
Access-Control-Allow-Origin: null
por el sitio web funciona. (ofc. not by google.com)Respuestas:
Chrome de inicio con
--disable-web-security
En Windows:
En Mac:
Esto permitirá solicitudes de dominio cruzado.
No sé si esto también funciona para archivos locales, ¡pero avísanos!
Y mencione, esto hace exactamente lo que espera, deshabilita la seguridad web, así que tenga cuidado con eso.
fuente
XMLHttpRequest cannot load file:///<my_local_file>. Cross origin requests are only supported for HTTP.
así que la declaración sobre el navegador Safari de este hilo ya no es válida.¡Usar el
--disable-web-security
interruptor es bastante peligroso ! ¿Por qué deshabilitar la seguridad mientras puede permitir que XMLHttpRequest acceda a archivos de otros archivos mediante el--allow-file-access-from-files
interruptor?Antes de usar estos comandos, asegúrese de finalizar todas las instancias en ejecución de Chrome.
En Windows:
En Mac:
Discusiones de esta "característica" de Chrome:
fuente
chrome://flags
Versión para Mac. Desde la terminal ejecutada:
fuente
En Ubuntu:
Para más detalles / interruptores:
http://peter.sh/experiments/chromium-command-line-switches/
Referenciado desde
fuente