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