ionique application ne peut pas se connecter la scro serveur compatible avec $http
Je suis en train de construire une application mobile avec ionic framework. Quand mon application tente de se connecter au serveur pour obtenir json ( serveur web api et de la scro est activé) elle retourne 404 sur genymotion et périphérique réel. Mais quand je lance l'application dans le navigateur avec ionic serve
tout ce beau travail.
Je suis assez sûr de la SCRO est fonctionnel. Ici en-tête de réponse je me suis tout de travail sur l'application dans le navigateur.
Réponse
Access-Control-Allow-Origin:*
Cache-Control:no-cache
Content-Length:395
Content-Type:application/json; charset=utf-8
Date:Fri, 08 May 2015 20:24:04 GMT
Expires:-1
Pragma:no-cache
Server:Microsoft-IIS/7.0
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
Demande :
Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, lzma, sdch
Accept-Language:tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:no-cache
Connection:keep-alive
DNT:1
Host:*******:14400
Origin:http://192.168.0.28:8100
Pragma:no-cache
Referer:http://192.168.0.28:8100/
Config.xml a <access origin="*"/>
cette ligne dans la configuration de
dans mon app.js j'ai enlevé X-requested-with-têtes pour tous http appels.
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
])
J'ai une utilisation simple des demandes pour de serveur dans mon usine classes.
$http.get(serverPath + "/api/mobilerest/mainPage");
Quand je lance l'application en Genymode ou périphérique réel, la réponse est 404 et statusText "n'est pas trouvé". Je suis sûr que les web api travaille, la cause de ce comportement est ionique dans les applications basées sur, mon application est de fichiers local et le protocole file:///so-tête d'Origine est nulle de la demande, le serveur retourne 404. J'ai aussi essayé un fichier local sans aucun serveur j'obtiens le même message d'erreur comme dans l'application.
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:no-cache
Connection:keep-alive
DNT:1
Host:server:14400
Origin:null
Pragma:no-cache
Suis-je raté quelque chose ?
OriginalL'auteur adt | 2015-05-08
Vous devez vous connecter pour publier un commentaire.
cordova-plugin-blanche semble être "obligatoire" à l'heure actuelle.
l'installer :
configurer config.xml
Vous pouvez garder votre configuration actuelle avec * ou modifier des règles plus restrictives
ajouter un html la politique
sur index.html, vous devez ajouter une Politique aussi.
Pour autoriser tout ce qui, ici, il est :
Encore merci pour le partage @aorfevre. Comme adt je ne pouvais pas comprendre pourquoi il a été de travailler dans le navigateur et non pas sur mon appareil
Cela a fonctionné pour moi aussi. Je ne suis pas sûr pourquoi ce n'est pas ajoutée à la documentation. Il a été discuté dans certains forums.
Merci Mec pour cette aide 🙂
Huuuh, enfin travaillé. @aorfevre Merci beaucoup!
OriginalL'auteur aorfevre
, vous pouvez simplement aller dans config .fichier xml et modifier cette ligne
OriginalL'auteur Sourabh MorwalGODtech