Bonjour, je suis en train de développer une mini api, et je fais une requête avec $http.get Le problème c'est que ça ne fonctionne pas. Voici le code de ma requête :

app.factory('homeFactory', function($http, $q) {
    var factory = {
        urls : false,

        getUrls : function(){
            var deffered = $q.defer();
            $http.get('localhost/TLC/get.php?tlc')
                .success(function(data, status) {
                    factory.urls = data;
                    deffered.resolve(factory.urls);
                })
                .error(function(data, status) {
                    deffered.reject('erreur');
                })
            return deffered.promise;
        }
    };
    return factory;
});

Voilà, j'espère que vous pourrez m'aider, je pense que l'erreur vient de l'url, mais pourtant elle fonctionne bien avec mon navigateur, et elle renvoie du JSON... Je ne comprends pas que j'obtienne une erreur.

2 réponses


Defy
Réponse acceptée

deja $htt.get retourne deja une promise donc pas besoin de passer par $q pour ca.

comment tu la traite dans ton controller?

NeoTux
Auteur

Bonjour, déjà je me suis trompé je en voulais pas mettre le topic en résolu... (c'est mon premier topic sur le forum :) Bon, dans ma partie controller, voici ce que j'ai :

app.controller('homeController', function($scope, homeFactory) {
    $scope.urls = homeFactory.getUrls().then(function(urls) {
        $scope.urls = urls;
    }, function(msg) {
        alert(msg);
    });
});

Apres je suis pas sur que ca vienne du controller, je pense que l'erreur viendrait plus de la requête, mais voilà le controller. Merci de votre réponse.
Cordialement.

(ah et si vous savez comment enlever le topic résolu, merci hein ;)