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。