Angular js没有等待$ http?

时间:2015-09-20 06:50:25

标签: javascript angularjs http

这是我的第一个角度js应用程序。我正在尝试发出http请求并得到回复。

app.service('info',['$http',function($http){

                var details=function (query) {
                            $http({
                            method:'GET',
                            url:'http://api.openweathermap.org/data/2.5/forecast/daily',
                            params:{q:query,cnt:8}
                            }).then(function (response){

                            console.log(response.data);
                            return response.data;

                            },function (response){
                                console.log('s');
                            });
                        };

                return {details:details}

            }]);

这是我的控制者:

app.controller("search",['$scope','$routeParams','info',function($scope,$routeParams,info){

            if ($routeParams.param) {
                var d=info.details($routeParams.param);
                    d.then(function (r){
                        console.log("success");
                    },function (e){
                        console.log("fail");
                    });
}]);

但是在使用它时显示&#34; Cannot read property 'then' of undefined"。我已经在这里阅读了类似问题的解决方案,这在许多问题上都是一个可行的解决方案,但我不会遇到可怕的错误。< / p>

也要解释这句话:

return {details:details}

0 个答案:

没有答案