AngularJS 在服务中使用$ http请求


本文向大家介绍AngularJS 在服务中使用$ http请求,包括了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