AngularJS 在服务中使用$ http请求
示例
HTTP请求在每个Web应用程序中被广泛使用,因此明智的做法是为每个常见请求编写一个方法,然后在整个应用程序中的多个位置使用它。
创建一个httpRequestsService.js
httpRequestsService.js
appName.service('httpRequestsService', function($q, $http){
return {
//执行基本获取请求的函数
getName: function(){
//确保注入了$http
return $http.get("/someAPI/names")
.then(function(response) {
//返回结果作为承诺
return response;
}, function(response) {
//兑现诺言
return $q.reject(response.data);
});
},
//为您的应用程序提出的其他请求添加功能
addName: function(){
//一些代码...
}
}
})上面的服务将在服务内部执行get请求。这将对已注入服务的任何控制器可用。
样本用法
appName.controller('controllerName',
['httpRequestsService', function(httpRequestsService){
//我们在此控制器上注入了httpRequestsService服务
//使getName()函数可以使用。
httpRequestsService.getName()
.then(function(response){
//成功
}, function(error){
//做一些错误
})
}])使用这种方法,我们现在可以随时随地在任何控制器中使用httpRequestsService.js。