AngularJS $http service

原文鏈接: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

});


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章