web-dev-qa-db-fra.com

Les demandes ioniques renvoient 404 uniquement sur Android. Sous Chrome, cela fonctionne bien.

Donc, j'ai cloné le tutoriel app repo d'ionic. Iran

ionic start conference sidemenu

et puis j'ai ajouté un simple $ http.get ('myserver') (j'ai aussi essayé avec ngResources). 

Cela fonctionnait parfaitement sur chrome, j'ai récupéré toutes les données mais sur angular, je n'ai obtenu que des données nulles et le statut 404, quelle que soit la requête que j'essaie de faire.

Remarque: j'ai essayé avec mon serveur hébergé et avec un serveur local. Les deux échouent sur Android. Server est une API node.js REST.

Rien n’est imprimé sur la console, la requête n’est donc même pas envoyée au serveur.

Est-ce que quelqu'un a déjà vécu cela ou pourrait me dire comment déboguer des applications Android construites avec Ionic?

EDIT 1: Je ne sais pas pourquoi vous en avez besoin mais le voici

$http.get('http://server.com/route').success(function (data) {
            //handle success
        }).error(function (data, status) {
            // handle error
        });
39
Victor Balan

Le problème, c’est que Cordova 4.0.0 a subi des changements majeurs:

Changements majeurs [...] - La fonctionnalité de la liste blanche est maintenant fournie via le plugin (CB-7747). Le la liste blanche a été améliorée pour être plus sécurisée et configurable La définition de Content-Security-Policy est maintenant prise en charge par la structure (voir les détails dans le fichier readme du plugin) Vous devrez ajouter le nouveau fichier cordova-plugin-whitelist plugin Le comportement de la liste blanche héritée est toujours disponible via plugin (bien que non recommandé).

J'ai donc installé le plugin Cordova Whitelist . Et ajouté 

<allow-navigation href="http://*/*" />

dans mon fichier config.xml.

87
Victor Balan

Dans mon cas, le problème était avec le plugin cordova-plugin-whitelist. Je viens de supprimer le plugin et l'a ajouté. Également activé toutes les demandes en ajoutant ce code <access Origin="*" /> dans config.xml. Veuillez trouver ci-dessous les commandes:

Vous devez supprimer le plugin existant en utilisant la commande ci-dessous:

ionic cordova plugin rm cordova-plugin-whitelist

Ensuite, ajoutez-le simplement en utilisant la commande ci-dessous:

ionic cordova plugin add cordova-plugin-whitelist

J'espère que ça aide.

1
Sandy

Le contenu local que vous devriez, lorsque cordova compile est un dossier www , ce sont ses ressources et autres dossiers pour implémenter l’apk ou l’équivalent iOS

c'est à dire 

<img src="assets/images/{your-file-name}">
0
Ivan Fretes