AngularJS $http service

本文深入探讨了AngularJS中HTTP服务的基本用法,包括通用与快捷调用方式,以及如何在单元测试中有效利用。文章还详细解释了HTTP服务返回的promise对象及其属性,帮助开发者更高效地进行API请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/angularjs-http-service/

1.通常用法:

$http服务是一个只有一个参数-配置对象的函数,用于产生一个http请求并返回一个promise对象。

$http({

  method: 'GET',

  url: '/someUrl'

}).then(function successCallback(response) {

        //响应成功

  }, function errorCallback(response) {

        //响应失败

  });

这个回复对象有这些属性:

data:转换函数转换之后的的响应体

status:响应的http状态码

header:得到的头部getter函数

config:用于生成请求的配置对象

statusText:响应的http状态文本

响应状态码(status)在200-299之间被认为是成功状态,并且会导致successCallback函数被调用。

2.快捷用法:

所有快捷用法都需要通过URL,并要求数据必须通过post或put要求。

$http.get('/someUrl', config).then(successCallback, errorCallback);

$http.post('/someUrl', data, config).then(successCallback, errorCallback);

快捷用法有:

  • $http.get获得服务器上的某一资源
  • $http.head  与get类似,但只获得http头信息
  • $http.post 向服务器提交数据、更新创建资源等
  • $http.put  用于向指定的URI传送更新资源
  • $http.delete  删除某一资源
  • $http.jsonp  获取jsonp数据
  • $http.patch  用于更新某一部分的内容

3.使用$http编写单元测试

当进行单元测试时(用ngMock),必须调用$httpbackend.flush()来清除每个待定的请求。

$httpBackend.expectGET(...);

$http.get(...);

$httpBackend.flush();

4.返回一个promise对象

var promise=$http({

method:'GET',

url:"data.json"

});

promise.then(function(resp){

     //返回resp响应对象

},function(resp){

     //返回错误信息的resp

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值