AngularJS使用$http配置对象方式与服务端交互方法
时间:2021-01-29 09:30:30|栏目:AngularJS|点击: 次
如下所示:
//$http函数的形参就是一个配置对象 $http({ //method属性表示HTTP请求时的方式,它是一个字符串,值是POST、GET、JSONP、DELETE、PUT和HEAD其中之一 method: //url表示向服务器请求的地址,是一个相对或者绝对的字符串形式 url: //data属性是一个对象,该对象将作为消息体的一部分发送给服务端,常用于POST或PUT数据时使用; data: //params属性是一个字符串对象,当发送HTTP请求时,如果是对象,将自动按json格式进行序列化,并追加到URL后面,作为发送数据的一部分,传递给服务器。 params: //用于对请求体信息和请求体进行序列化转换,并生成一个数组发送给服务端 transformRequest: //用于对响应体头信息和响应体进行序列化的反转,其实质就是解析服务器发送来的被序列化后的数据 transformResponse: //表示是否对HTTP请求进行缓存,如果该值是true,表示需要缓存,否则不缓存 cache: //表示延迟发送HTTP请求的的时间,单位是毫秒 timeout: }) .success(fn1) .error(fn2) //-------------------------------------------- 执行$http函数后,它返回的内容其实是一个promise对象,因此可以直接通过连式的写法调用then方法获取成功和异常后的数据。 $http({ //配置对象 }) .success(fn1) .error(fn2) //等价于 $http({ //配置对象 }) .then(fn1,fn2)
其中fn1和fn2分别表示请求成功和错误时的返回函数。
需要说明的是,虽然两者的功能相同,但使用then方法可以接收到服务端的完整响应对象,而success和error方法只是接收解析并处理后的响应对象,也就是说,then方法获取的返回对象更原始和完整。