Phonegap Cordova Ajax requests 404 (No encontrado) Error


Mi versión cordova es 5.0.0

Recibo un error 404 para la solicitud all ajax realizada cuando la aplicación se implementa en el dispositivo. En el navegador web, funciona bien, pero la misma aplicación cuando se implementa en un dispositivo no funciona.

Traté de agregar siguientes para resolver el problema, pero no ha ayudado.

Config.xml

<access origin="*" />

AndriodManiest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

También agregué lo siguiente en mi índice.archivo html, pero no hizo ninguna diferencia bien.

<script>
    $.support.cors=true;
</script>

¿Alguien aquí tiene otro truco para resolver este problema? Parece ser un problema común con phonegap pero las revisiones anteriormente trabajó en mayores vesión de phonegap/cordova, pero no de ellos ha trabajado en mi caso.

Cualquier ayuda sería genial.

Author: Sahil, 2015-05-05

4 answers

Tuve el mismo problema y tuve que instalar el cordova-plugin-whitelist

cordova plugin add cordova-plugin-whitelist

El crédito va a este artículo de stackoverflow - Ajax Comando para solicitar URL ya no funciona

 107
Author: Derek Arends,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:02:06

En realidad debería agregar el plugin cordova whitelist:

cordova plugin add cordova-plugin-whitelist

O en su configuración.archivo xml :

<plugin name="cordova-plugin-whitelist" spec="1" />

Pero si está utilizando el servicio de compilación phonegap en línea, la sintaxis es diferente. Tienes que añadir la siguiente línea en tu configuración.archivo xml :

<gap:plugin name="cordova-plugin-whitelist" source="npm" />

Y autorizar solicitudes de dominios cruzados:

<access origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />

Esto no se recomienda porque se usa un comodín en todas partes y todo está permitido. Pero es perfecto para tus pruebas.

 18
Author: Damien,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-12 10:01:31

Esto funcionó para mí. La única diferencia está en mi configuración.xml Tuve que ponerlo en un nodo para que tuviera efecto.

Mi ejemplo a continuación:

<platform name="android">
    <allow-intent href="market:*" />
    <access origin="*" />
    <allow-intent href="*" />
    <allow-navigation href="*" />
</platform>
 1
Author: SeanBarberPro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-30 19:04:29

Usuario de Phonegap. Añadiendo esta línea a la configuración.xml es la solución para mí:

<gap:plugin name="cordova-plugin-whitelist" source="npm" />
 0
Author: Bruno PIERRE-JUSTIN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-05 13:00:25