当前位置: 首页 > 编程笔记 >

AngularJS 在服务中使用$ http请求

酆君墨
2023-03-14
本文向大家介绍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

 类似资料:
  • 问题内容: 我需要使用该服务发送GET请求。参数之一是ID数组。网址看起来像这样一个 **mysite.com/items?id[]=1 &id[]=2&id[]=3&id[]=4** 我尝试过这种方法 但网址是 **mysite.com/items?id=%5B%221%22%2C%222%22%2C%223%22%2C%224%22%5D** 那是因为Angular正在将我的值转换为JSON字

  • 本文向大家介绍简介AngularJS中$http服务的用法,包括了简介AngularJS中$http服务的用法的使用技巧和注意事项,需要的朋友参考一下 我们可以使用内置的$http服务直接同外部进行通信。$http服务只是简单的封装了浏览器原生的XMLHttpRequest对象。 1、链式调用 $http服务是只能接受一个参数的函数,这个参数是一个对象,包含了用来生成HTTP请求的配置内容。这个函

  • 问题内容: 我试图了解Angular中工厂和服务的概念。我在控制器下有以下代码 此代码可以正常工作。但是,当我将$ http服务移入工厂时,我无法将数据返回到控制器。 使用工厂有什么好处,因为$ http即使在控制器下也可以工作 问题答案: 将服务移出控制器的目的是实现关注点分离。服务的工作是知道如何与服务器通信,而控制器的工作是在视图数据和服务器数据之间转换。 但是,您会混淆异步处理程序以及返回

  • 我希望能够创建一个自定义的AngularJS服务,当其数据对象为空时发出HTTP“GET”请求,并在成功时填充数据对象。 下一次调用此服务时,我希望绕过再次发出HTTP请求的开销,而是返回缓存的数据对象。 这可能吗?

  • Python 的标准库 urllib 提供了大部分 HTTP 功能,但使用起来较繁琐。通常,我们会使用另外一个优秀的第三方库:Requests,它的标语是:Requests: HTTP for Humans。 Requests 提供了很多功能特性,几乎涵盖了当今 Web 服务的需求,比如: 浏览器式的 SSL 验证 身份认证 Keep-Alive & 连接池 带持久 Cookie 的会话 流下载

  • 我正在尝试使用Jmeter测试一个soap服务。当使用SOAP/XML-RPC请求元素时,服务给出正确的结果。当使用Fiddler执行时,它给出正确的响应(响应代码200)。 但是当我使用Http Request在Jeter上运行相同的服务时。它返回响应代码为500并给出 “请求格式无效:文本/xml。 这在响应数据中。我试着把它改成许多格式,像“应用程序/xml”等等,但是没有用。 [HTTP_

  • 我试图向远程服务器发送HTTP GET请求,并在HTML页面上使用响应。下面是project/js/script.js页面 在我的响应标题中,这是我得到的 远程地址:127.0.0.1:63342 请求URL:localhost:63342/object 请求方法:获取 状态代码:404未找到 请求头 接受:申请/json,文本/平原,/ 接受编码:gzip、deflate、sdch 接受语言:e

  • 问题内容: 我希望能够创建一个自定义AngularJS服务,该服务在其数据对象为空时发出HTTP“获取”请求,并在成功时填充该数据对象。 下次调用此服务时,我想绕过再次发出HTTP请求的开销,而是返回缓存的数据对象。 这可能吗? 问题答案: Angular的$ http 内置了一个缓存。根据文档: cache – {boolean | Object} – 用$ cacheFactory创建的布尔值