在服务中使用 http 请求
HTTP 请求在每个 Web 应用程序中被广泛使用,因此为每个常见请求编写方法,然后在整个应用程序的多个位置使用它是明智的。
创建一个 httpRequestsService.js
httpRequestsService.js
appName.service('httpRequestsService', function($q, $http){
return {
// function that performs a basic get request
getName: function(){
// make sure $http is injected
return $http.get("/someAPI/names")
.then(function(response) {
// return the result as a promise
return response;
}, function(response) {
// defer the promise
return $q.reject(response.data);
});
},
// add functions for other requests made by your app
addName: function(){
// some code...
}
}
})
上述服务将在服务中执行 get 请求。这将适用于已注入服务的任何控制器。
样品用法
appName.controller('controllerName',
['httpRequestsService', function(httpRequestsService){
// we injected httpRequestsService service on this controller
// that made the getName() function available to use.
httpRequestsService.getName()
.then(function(response){
// success
}, function(error){
// do something with the error
})
}])
使用这种方法,我们现在可以随时在任何控制器中使用 httpRequestsService.js 。