这是我的第一个角度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"
。我已经在这里阅读了类似问题的解决方案,这在许多问题上都是一个可行的解决方案,但我不会遇到可怕的错误。< / p>
也要解释这句话:
return {details:details}