原文連接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/angularjs-http-service/angularjs
1.一般用法:json
$http服務是一個只有一個參數-配置對象的函數,用於產生一個http請求並返回一個promise對象。promise
$http({服務器
method: 'GET',函數
url: '/someUrl'post
}).then(function successCallback(response) {單元測試
//響應成功測試
}, function errorCallback(response) {jsonp
//響應失敗url
});
這個回覆對象有這些屬性:
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);
快捷用法有:
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
});