angularJS学习之路(三十)---服务器通信(1)---基本概念

使用$http 服务直接同外部对象进行通信

$http服务只是简单的封装了浏览器  原生的 XMLHttpRequest对象

$http服务只能接受一个参数,这个参数必须是一个对象,配置内容

返回值是一个   promise 对象,具有success方法和error方法

基本使用场景:

$http({
	method:'GET',
	url:'/api/users.json'
}).success(function(data,status,headers,config){
//当响应准备就绪时调用
}).error(function(data,status,headers,config){
//当响应以错误状态返回时调用
});

这个方法实际上返回一个  promise对象 所以上面的方法是不会返回回调函数的

var promise = $http({
	method:'GET',
	    url:'/api/user.json',
});
promise.success(function(data,status,headers,config){
	//处理成功的响应
});
promise.error(function(data,status,headers,config){
	//处理失败的响应
});

状态码在200-299之间,都是响应成功的,success回调函数会被调用

否则error函数会被调用

大多数是用的地方是:在$apply代码块内部使用$http  ,

$scope.$apply(function(){
	$http({
		method:'GET',
		url:'/api/user.json',
	)};
});

设置对象:

	$http({
		method:'GET',
		url:'/api/user.json',
	)};

包含如下几种:

1.method:字符串

这个键是我们希望发送的请求的http方法,它的值有:GET ,POST,DELETE,HEAD,JSONP,PUT

2.url :字符串

请求的目标地址

3.params :字符串或者map对象 这个键的值是一个字符串map对象,会被转换成查询字符串追加在URL后面,如果值不是字符串,会被JSON序列号

4.data :字符串或者对象

发送POST时请求使用, 

5.headers 对象

一个列表,每一个元素都是一个函数,它会返回代表随请求发送的HTTP头,如果函数返回的是null ,对应的头不会被发送给服务器

6.xsrfHeaderName 字符串

7.xsrfCookieName字符串,保存XSRF令牌的cookie

还有其他更多  比如cache  timeout 等等

响应对象:

data:字符串或者对象

响应体  其实就是数据吧

status:数值型,HTTP状态码

headers:函数

config:对象   这个对象是用来生成原始请求的完整设置对象

statusText :字符串  这个字符串是响应HTTP状态的文本

$http({
		method:'GET',
		url:'/api/user.json',
	}).then(resp){resp.headers('X-Auth-ID')});;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券