Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了AngularJs 与服务器通信 $http, $q, $resource大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

$http服务是AngularJS系统自带的,可以用来进行网络通信、获取远程服务器的数据。要记住的是,$http是对浏览器XMLhttprequest的封装,也就是说,它其实是Ajax。

$http(options).success(successFn).error(errorFn)

  • options:包括url、method(get或post)
  • successFn:成功的回调
  • errorFn:失败的回调

$http(options)返回的是一个被封装的promise对象,promise.then(function(data){},function(err){})

q服务。">
一个defered对象:

方法resolve,reject,notify

@H_674_46@

angular-resource.js中的ngresource模块中提供了一个provider $resource。

$resource服务是一个创建资源对象的工厂,用来创建同服务端交互的对象,因此我们并不是直接使用$resource服务本身同服务器通信,而是通过其创建的对象来和服务端通信。

一个参数化的url模板,带有前缀参数(如:/api/users/:userId)

/path/greet?salutation=Hello。如果参数的任何一个值是函数它将作为每一次请求获取的参数值而被执行。

用户对于resource行为的认设置进行扩展的自定义配置的散列,该配置将会以$http.config的格式创建。

名称,这个名称将成为resource对象方法名称

方法(不区分大小写,如GET,POST,PUT,deletE,MOVE等)

一个数组。

函数/函数的数组。转换函数获取http请求体和请求头,并且返回他们的转换版(通常是序列化)

函数/函数的数组。转换函数获取http响应体和响应头,并且返回他们的转换办(通常是序列化)

一个认的$http缓存将被作为请求的缓存,否则如果存在一个用$cacheFactory创建的缓存实例将用于缓存。

属性

拦截对象有两个可选方法-response和responseError。

自定义设置,唯一支持的选项是StripTrailingSlashes,Boolean类型,如果为真,url尾部的斜杠会被移除(认为truE)

var User = $resource('/api/users/:userId',{userId: '@id'});

$resource服务提供的认actions有5个:

actions: { 'get': {method: 'GET'}, 'save': {method: 'POST'}, 'query': {method: 'GET',isArray: truE}, 'remove': {method: 'deletE'}, 'delete': {method: 'deletE'} }

User对象包含两个get方法,三个非get类型方法

User.get({id: '123'},successFn,errorFun); // 请求地址/api/users/123

User.query(params,successFun,errorFun); // 请求多条数据

User.save(params,payload,errorFun); // params用于填充url变量, payload是请求体

User.delete(params,errorFun); // delete请求

User.remove(params,errorFun); //delete请求, 移除多条数据

除了这5种认actions,我们还可以自定义扩展action,

$resource( url,{},{

sendEmail: {

method: 'POST',

url: '',

params: {},

isArray: Boolean,

transformrequest: 函数函数数组,// function(data) {return angular.toJson(data); } 把对象转换成json字符串

transformResponse: 函数函数数组,// function(data) {return angular.formJson(data);} 把json字符串解析为一个对象

interceptor: {

    response: function(d){}

    responseError: function(d){}

  }

}

})

大佬总结

以上是大佬教程为你收集整理的AngularJs 与服务器通信 $http, $q, $resource全部内容,希望文章能够帮你解决AngularJs 与服务器通信 $http, $q, $resource所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: