怎么在AngularJS中使用美元http服务

  介绍

怎么在AngularJS中使用美元http服务?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强> 1,链式调用

http美元服务是只能接受一个参数的函数,这个参数是一个对象,包含了用来生成http请求的配置内容。这个函数返回一个承诺对象,具有成功和错误两个方法。

http({美元   url: & # 39; data.json& # 39;   方法:& # 39;得到# 39;   }).success(功能(数据、头、配置、状态){//响应成功      }). error(功能(数据、头、配置、状态){//处理响应失败   });

<强> 2,返回一个承诺对象

var 承诺http (=$ {   方法:& # 39;得到# 39;   url:“data.json"   });

由于http美元方法返回一个承诺对象,我们可以在响应返回时用那方法来处理回调。如果使用然后方法,会得到一个特殊的参数,它代表了相应对象的成功或失败信息,还可以接受两个可选的函数作为参数,或者可以使用成功和错误回调代替。

promise.then(函数(职责){//分别地是一个响应对象      },函数(职责){//带有错误信息的职责      });

或者这样:

promise.success(功能(数据、状态、配置头){//处理成功的响应   });      promise.error(功能(数据、状态、hedaers配置){//处理失败后的响应   });

然后()方法与其他两种方法的主要区别是,它会接收到完整的响应对象,而成功()和错误()则会对响应对象进行析构。

<强> 3,快捷的得到请求

①http.get美元(& # 39;/api/users.json& # 39;);

得到()方法返回HttpPromise对象。

还可以发送比如:删除/头/jsonp/post/put函数内可接受参数具体参照148页

②以再发送jsonp请求举例说明:为了发送jsonp请求,其url中必须包含JSON_CALLBACK字样。

jsonp (url配置)其中配置是可选的

var 承诺=$ http.jsonp (“/api/users.json ?回调=JSON_CALLBACK");

<强> 4,也可以将http当美元做函数来使用,这时需要传入一个设置对象,用来说明如何构造XHR对象。

http({美元   方法:& # 39;得到# 39;   url: & # 39;/api/users.json& # 39;   参数:{   & # 39;用户名# 39;:& # 39;晒# 39;   });

其中设置对象可以包含以下主要的键:

①方法

可以是:GET/删除/头/JSONP/POST/把

②url:绝对的或者相对的请求目标

③params(字符串地图或者对象)

这个键的值是一个字符串地图或对象,会被转换成查询字符串追加在url后面。如果值不是字符串,会被JSON序列化。

比如这个:

//参数会转为? name=ari的形式   http({美元   参数:{& # 39;名字# 39;:& # 39;ari # 39;}   });

④数据(字符串或者对象)

这个对象中包含了将会被当作消息体发送给服务器的数据,通常在发送帖子请求时使用。

从AngularJS 1.3开始,它还可以在帖子请求里发送二进制数据。要发送一个blob对象,你可以简单地通过使用数据参数来传递它。

例如:

var  blob=new  blob ((& # 39; Hello  & # 39;],{类型:& # 39;文本/平原# 39;});   http({美元   方法:& # 39;文章# 39;   url: & # 39;/& # 39;   数据:团   });

<强> 4,响应对象

AngularJS传递给然后()方法的响应对象包含了四个属性。

◇数据:这个数据代表转换过后的响应体(如果定义了转换的话)

◇状态:响应的HTTP状态码

◇头:这个函数是头信息的getter函数,可以接受一个参数,用来获取对应名字值

例如,用如下代码获取X-Auth-ID的值:

HTTP({美元   方法:,& # 39;得到# 39;   url: & # 39;/api/users.json& # 39;   }).then (职责),{//,读取X-Auth-ID   resp.headers (& # 39; X-Auth-ID& # 39;);   });

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

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

<强> 5,缓存HTTP请求

默认情况下,美元HTTP服务不会对请求进行本地缓存。在发送单独的请求时,我们可以通过向HTTP美元请求传入一个布尔值或者一个缓存实例来启用缓存。

http.get美元(& # 39;/api/users.json& # 39;,{,缓存:true })   .success(功能(数据),{})   . error(功能(数据),{});

怎么在AngularJS中使用美元http服务