0
Это мое первое угловое приложение 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");
});
}]);
Но используя это показывает "Cannot read property 'then' of undefined"
.I прочитал решение подобных проблем здесь, и это было рабочим решением многих проблем, но я не немогу попасть туда, куда его будет ужасно неправильно
тоже объяснить это утверждение:.
return {details:details}
возвратных {подробность: подробности}: Информационный сервис возвращает объект буквального с подробной информацией (имя): детали (стоимость) .. –
последнего утверждения в основном публикует ваши 'details' функцию, так что вы можете вызвать его из контроллер. в противном случае это просто var внутри вашей сервисной функции и находится внутри закрытой за пределами области охвата из-за обзора – charlietfl