本文主要给大家介绍的是关于Angular.js中$resource数据交互的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:

$resource
创建一个resource对象的工厂函数,可以让你安全的和RESFUL服务端进行数据交互。
需要注入 ngResource 模块。angular-resource[.min].js
默认情况下,末尾斜杠(可以引起后端服务器不期望出现的行为)将从计算后的URL中剥离。
这个可以通过$resourceProvider配置:
app.config(["$resourceProvider",function($resourceProvider){
$resourceProvider.defaults.stripTrailingSlashes = false;
}])
依赖:$http
使用:$resource(url,[paramDefaults],[actions],options);
url:一个参数化的url模板,带有前缀参数(如:/user/:username)。如果你使用的是带端口号的URL(如:http://example.com:8080/api),则需要慎重考虑。如果带有后缀(如:http://example.com/resource.json 或者 http://example.com/:id.json 或者 http://example.com/resource/:resource_id.:format) 。如果后缀之前的参数是空的,在这情况下:resource_id 比 /.优先执行,如果你需要这个序列出现而不崩溃,那么你可以通过/\.避免。
paramDefaults:url参数的默认值,这些可以在方法重写。如果参数的任何一个值是函数,它将作为每一次请求获取的参数值而被执行(除非该参数被忽略的)。
参数对象中的每个键值对都是先绑定到一个url模板,任何多余的密钥都被附加到url query的“?”后。 /path/:verb +{verb:'greet',salutation:'hello'} => /path/greet?salutation=hello
actions: 用户对于resource行为的默认设置进行扩展的自定义配置的散列,该配置将会以$http.config的格式创建。
action: 字符串,action的名称,这个名称将成为resource对象方法的名称。
method:字符串,http方法(不区分大小写,如GET, POST, PUT, DELETE, JSONP等)。
params:对象,这次行动预先设定的参数。如果任何参数的值是一个函数,当一个参数值每一次需要获得请求时都会被执行(除非该参数被忽略的)。
url:字符串,行为指定的网址。
isArray:boolean,如果为true,那么这个行为返回的对象是个数组。
transformRequest:函数/函数的数组。转换函数或者一个包含转换函数的数组。转换函数获取http请求体和请求头,并且返回他们的转换版(通常是序列化)。
transformResponse:函数/函数的数组。转换函数或者一个包含转换函数的数组。转换函数获取http响应体和响应头,并且返回他们的转换版(通常是序列化)。
cache:boolean,如果为true,一个默认的$http缓存将被作为请求的缓存,否则如果存在一个用$cacheFactory创建的缓存实例,则将用于缓存。
timeout:数值,毫秒,超时则让请求中止。
withCredentials:boolean,是否设置withcredentials flag的XHR对象。查看更多信息的凭据。
responseType:字符串,响应头类型。
interceptor:对象,拦截对象有两个可选方法-response和responseError。
Options:扩展$resourceProvider行为的自定义设置,唯一支持的选项是stripTrailingSlashes,boolean类型,如果为真,url尾部的斜杠会被移除(默认为true)。
五种默认行为:
{
“get”:{method:“get”},
“save”:{method:“post”}
“query”:{method:“get”,isArray:true}
“remove”:{method:“delete”}
“delete”:{method:“delete”}
}
get([params],[success],[error]);
save([params],postData,[success],[error]);
query([params],[success],[error]);
remove([params],postData,[success],[error]);
delete([params],postData,[success],[error]);
$save([params],[success],[error]);
$remove([params],[success],[error]);
使用代码:
(function () {
angular.module("Demo", ["ngResource"])
.controller("testCtrl", ["$resource",testCtrl]);
function testCtrl($resource) {
var myResource = $resource("/url/_url", {}, {
myPost: {
method: "post",
url: "/newUrl/_newUrl",
params: { id: "4" },
interceptor: {
response: function (d) {
console.log(d);
},
responseError: function (d) {
console.log(d);//这里的是随便写的地址,所以执行了error里的函数,可打印看参数及结果
}
}
}
});
myResource.get({ id: "1" }, function (d) {
console.log(d);
}, function (d) {
console.log(d);//这里的是随便写的地址,所以执行了error里的函数,可打印看参数及结果
});
myResource.query({ content: "text" }, function (d) {
console.log(d);
}, function (d) {
console.log(d);//这里的是随便写的地址,所以执行了error里的函数,可打印看参数及结果
});
myResource.save({ text: "Hello World" }, { text: "Hello World" }, function (d) {
console.log(d);
}, function (d) {
console.log(d);//这里的是随便写的地址,所以执行了error里的函数,可打印看参数及结果
});
myResource.remove({ text: "Hello World" }, { text: "Hello World" }, function (d) {
console.log(d);
}, function (d) {
console.log(d);//这里的是随便写的地址,所以执行了error里的函数,可打印看参数及结果
});
myResource.delete({ text: "Hello World" }, { text: "Hello World" }, function (d) {
console.log(d);
}, function (d) {
console.log(d);//这里的是随便写的地址,所以执行了error里的函数,可打印看参数及结果
});
var newResource = new myResource();
newResource.$save({ id: "2" }, function (d) {
console.log(d);
}, function (d) {
console.log(d);//这里的是随便写的地址,所以执行了error里的函数,可打印看参数及结果
});
newResource.$remove({ id: "3" }, function (d) {
console.log(d);
}, function (d) {
console.log(d);//这里的是随便写的地址,所以执行了error里的函数,可打印看参数及结果
});
myResource.myPost();
};
}());
关于$resource,这里只是简单的介绍和使用,本兽对$resource的理解也不会很深(很少用到restful),希望有人交流相关问题。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持
# angularjs
# resource
# angularjs的
# angularjs数据交互
# 深入理解Angularjs中的$resource服务
# 详解AngularJs中$resource和restfu服务端数据交互
# 的是
# 他们的
# 如果你
# 自定义
# 都是
# 是一个
# 情况下
# 是个
# 也不
# 序列化
# 让你
# 相关内容
# 你可以
# 在这
# 而不
# 可以通过
# 给大家
# 将被
# 重写
# 可选
相关文章:
建站ABC备案流程中有哪些关键注意事项?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
自助网站制作软件,个人如何自助建网站?
如何用y主机助手快速搭建网站?
代刷网站制作软件,别人代刷火车票靠谱吗?
如何通过二级域名建站提升品牌影响力?
如何在阿里云虚拟主机上快速搭建个人网站?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
制作网站的公司有哪些,做一个公司网站要多少钱?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何规划企业建站流程的关键步骤?
如何通过FTP服务器快速搭建网站?
如何在Windows 2008云服务器安全搭建网站?
如何通过宝塔面板实现本地网站访问?
,巨量百应是干嘛的?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
C#如何序列化对象为XML XmlSerializer用法
建站主机是否等同于虚拟主机?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
定制建站如何定义?其核心优势是什么?
如何快速上传建站程序避免常见错误?
香港服务器选型指南:免备案配置与高效建站方案解析
如何用AWS免费套餐快速搭建高效网站?
如何快速搭建高效WAP手机网站吸引移动用户?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
临沂网站制作企业,临沂第三中学官方网站?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何挑选优质建站一级代理提升网站排名?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
建站主机服务器选型指南与性能优化方案解析
制作证书网站有哪些,全国城建培训中心证书查询官网?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
在线制作视频的网站有哪些,电脑如何制作视频短片?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
如何用PHP工具快速搭建高效网站?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
潮流网站制作头像软件下载,适合母子的网名有哪些?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
建站之星安装后界面空白如何解决?
javascript中的try catch异常捕获机制用法分析
平台云上自主建站:模板化设计与智能工具打造高效网站
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
做企业网站制作流程,企业网站制作基本流程有哪些?
Bpmn 2.0的XML文件怎么画流程图
建站之星价格显示格式升级,你的预算足够吗?
如何通过山东自助建站平台快速注册域名?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
*请认真填写需求信息,我们会在24小时内与您取得联系。