AngularJS 提供了一个类似jquery的$.ajax的对象,用于异步请求。
在AngularJS中对异步操作是推崇至极的,所以$http的操作都是异步的不像jquery.ajax里还提供了async参数。
对于官网的$http对象的总结和使用。
用法:
$http(config);
参数:
config (常用的参数标红,翻译了一下)
config | object |
Object describing the request to be made and how it should be processed. The object has following properties:
|
返回: 一个httpPromise对象(一般只用data和status)
HttpPromise |
Returns a promise object with the standard
|
方法:
get(url, [config]); 快捷的方法来执行GET请求。
post(url, data, [config]); 快捷的方法来执行POST请求。
put(url, data, [config]);
patch(url, data, [config]);
jsonp(url, [config]);
head(url, [config]);
delete(url, [config]);
我自己的使用例子(使用promise解决回调地狱问题)
var deferred = $q.defer(); $http({ cache: false, method: 'GET', url: Constants.baseURL + '/loginj', params: params, headers: {'X-Auth-Token': $window.token} }).then(function(res) { if (200 === res.status && res.data.LoginResponse.success) { if (!Array.isArray(res.data.LoginResponse.settings.account)) { res.data.LoginResponse.settings.account = [res.data.LoginResponse.settings.account]; } CurrentUser.id = res.data.LoginResponse.settings.id; deferred.resolve(res.data.LoginResponse.settings); } else { deferred.reject("failed to fetch login data"); } }, function(error) { deferred.reject(error.status+" "+error.statusText); }); return deferred.promise;
官网地址:https://docs.angularjs.org/api/ng/service/$http (需要翻墙)
参考文章:http://zhaoyanblog.com/archives/99.html
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/candy_home/article/details/47114157