Bonjour,

Bonjour la communauté

Je développe une application mobile avec cordova en utilisant angular js, à un certain niveau mon application doit communiquer avec un serveur distant pour enregistrer des informations dans ue base de donnéée . Il se trouve que cette partie marche dans u navigateur standard, mais après l'émulation avec ripple sous chrome, la communication avec le serveur ne se fait pas .
après avoir désactiver l'option cross domain proxy sous ripple
mon appliction marche

Ce que je fais

Une fonction qui fait l'appel au serveur distant

post : function (options) {

            var deferred = $q.defer();

            $http({

                method : 'POST',

                url : 'http://192.168.202.2/plumessoleil/apfb/save_apfb.php',

                data : $.param(options),

                headers : {'Content-Type': 'application/x-www-form-urlencoded'}
            })

                .then(function (data,status) {

                    factory.result = data.data;

                    deferred.resolve(factory.result);

                },function (data,status) {

                    deferred.reject('Impossible de récupérer les articles');

                });

        return deferred.promise;
    }

Je veux savoir

Comment désactiver cette option sous un téléphone

5 réponses


Bonjour,

Le problème ne suviendra pas seulement sur téléphone.
Pour résoudre ton problème il faut utiliser les bons headers HTTP coté client et serveur pour autoriser cette connexion.

https://developer.mozilla.org/fr/docs/HTTP/Access_control_CORS

sh1ftsh
Auteur

j'ai bien mis les header

header("Access-Control-Allow-Origin: *");
header("HTTP/1.1 200 OK");
header("Content-Type: application/xml");
header("Access-Control-Allow-Methods: POST, GET, OPTIONS");

Tu n'as pas une erreur dans la console javascript qui pourrait t'indiquer ce qui pose problème ?

sh1ftsh
Auteur

non je n'ai pas de retaour dans la console

sh1ftsh
Auteur

Lorsque je désactive "cross domain" proxy sous ripple tous marche