javascript - google - xmlhttprequest cors
Extensión de Chrome: solicitud XMLHttp cancelada(estado== 0) (1)
El error que está recibiendo es una señal de que se realizó una redirección a una URL que no coincide con ninguno de sus permisos declarados.
Para verificar mi extracto, agregue el permiso *://*/*
o <all_urls>
al archivo de manifiesto, y verá que la solicitud se completa con éxito.
Para determinar qué redireccionamientos se siguen, siga los siguientes pasos:
- Abra las herramientas de desarrollador, vaya a la pestaña Red.
- Pegue la URL en el cuadro multifunción y presione enter
- Lea las URL en las herramientas de desarrollador.
Como puede ver en la imagen anterior, dl.dropbox.com
realmente redirige a dl.dropboxusercontent.com
. Este dominio debe agregarse a la sección de permisos de su archivo de manifiesto para solucionar el problema:
"permissions": [
"http://theOtherWorkingServer.com/*",
"*://dl.dropbox.com/*",
"*://dl.dropboxusercontent.com/*"
],
(el comodín en el esquema coincide con http
y https
- vea los patrones de coincidencia )
Intento cargar un archivo json desde un servidor con XMLHttpRequest
. Pero solo obtengo el status==0
y la consola de desarrollo de Chrome dice: "(cancelado)"
Puedo reproducir esto con este código (simplificado):
var httpReq = new window.XMLHttpRequest();
httpReq.onreadystatechange = function(data) {
if (httpReq.readyState == 4) {
alert(httpReq.status);
}
}
httpReq.open("GET", "http://dl.dropbox.com/[...]/data.json");
httpReq.send(null);
Este código deja de funcionar, ya que está en el contexto de la extensión. La misma función también se usa para cargar archivos de otro servidor (también crossdomain), sin ningún problema.
Aquí está la parte manifiesta:
"permissions": [ "http://theOtherWorkingServer.com/*", "http://dl.dropbox.com/*", "https://dl.dropbox.com/*" ],
He leído mucho sobre este problema, pero no encontré una solución de trabajo. (La página principal no se recarga y tampoco se redirige en este momento)
¿¿Alguna sugerencia??