javascript - resource - CORS+Cordova: problemas con: Access-Control-Allow-Origin
no access control allow origin header is present on the requested resource ionic 3 (2)
Necesita el complemento de la lista blanca de Cordova: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/ .
Tener esto en config.xml:
<access origin="*" />
<allow-navigation href="*"/>
Y tenga la meta Content-Security-Policy en index.html. Algo como:
<meta http-equiv="Content-Security-Policy" content="default-src *; script-src ''self'' ''unsafe-inline''; style-src ''self'' ''unsafe-inline''; media-src *; img-src ''self'' data:">
He estado buscando horas sobre este tema, pero todavía no puedo encontrar ninguna solución a esto.
Estoy desarrollando una aplicación cordova (básicamente HTML / JS) Entonces: la aplicación se ejecuta en el móvil desde el navegador, y tengo problemas para hacer una solicitud de AJAX a una API: https://developer.riotgames.com/ Pero digamos que solo quiero obtener la página de google
¿Cómo diablos lo hago, esto es posible? Aquí hay un ejemplo simple:
$.ajax({
type: "GET",
url: "https://google.com",
dataType: "text",
success: function(response){
alert("!!!");
},
error: function(error){
alert("...");
}
});
Estoy recibiendo el mismo error una y otra vez:
XMLHttpRequest no puede cargar https://google.com/ . Ningún encabezado ''Access-Control-Allow-Origin'' está presente en el recurso solicitado. Origen ''nulo'' por lo tanto, no está permitido el acceso
El origen ''nulo'' se debe a que ejecuto el código desde: file:///D:/Projets/LoL/www/index.html
y leo que el navegador está bloqueando, pero no funciona tan bien si desactivo la seguridad con --disable-web-security
Y, por supuesto, no tengo acceso al servidor al que quiero unirme.
Muchas gracias por tu ayuda !
He añadido seguimiento en el servidor de nodjs que resuelve mi problema;
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
Esto puede ser útil si está usando nodejs.
Gracias