在服務中使用 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 。