Vue进阶(幺伍肆):vue-resource 应用
文章目录一、前言二、vue-resource 特点三、基本语法四、http 方法列表五、示例代码六、安装七、应用八、resource 服务应用九、拓展阅读一、前言vue-resource是Vue.js的一款插件它可以通过XMLHttpRequest或JSONP发起请求并处理响应。也就是说$.ajax能做的事情vue-resource插件一样也能做到而且vue-resource的API更为简洁。vue-resource是一个非常轻量的用于处理HTTP请求的插件它提供了两种方式来处理HTTP请求使用Vue.http或this.$http使用Vue.resource或this.$resource这两种方式本质上没有什么区别阅读vue-resource的源码可以得知第2种方式其实是基于第1种方式实现的。此外vue-resource还提供了拦截器inteceptor可以在请求前和请求后附加一些行为这意味着除了请求处理的过程请求的其他环节都可以由我们来控制。在Vue.js中完成ajax请求的方式有两种vue-resource和axios。Vue.js 2.0版本推荐使用axios来完成ajax请求。有关axios应用详参博文二、vue-resource 特点体积小vue-resource非常小巧在压缩以后只有大约12KB服务端启用gzip压缩后只有4.5KB大小这远比jQuery的体积要小得多。支持主流浏览器和Vue.js一样vue-resource除了不支持IE9以下的浏览器其他主流的浏览器都支持;支持Promise API和URI TemplatesPromise是ES6的特性Promise的中文含义为“先知”Promise对象用于异步计算。URI Templates表示URI模板有些类似于ASP.NET MVC的路由模板;支持拦截器拦截器是全局的拦截器可以在请求发送前和发送请求后做一些处理。 拦截器在一些场景下会非常有用比如请求发送前在headers中设置access_token或者在请求失败时提供共用的处理方式。有关拦截器的具体应用详参《Vue进阶幺伍伍vue-resource 拦截器interceptors使用》。三、基本语法引入vue-resource后可以基于全局Vue对象使用http也可以基于某个Vue实例使用http。基于全局Vue对象使用httpVue.http.get(/someUrl,[options]).then(successCallback,errorCallback);Vue.http.post(/someUrl,[body],[options]).then(successCallback,errorCallback);在一个Vue实例内使用$httpthis.$http.get(/someUrl,[options]).then(successCallback,errorCallback);this.$http.post(/someUrl,[body],[options]).then(successCallback,errorCallback);以下是一个简单的get应用示例// GET /someUrlthis.$http.get(/someUrl).then(response{// success callback},response{// error callback});四、http 方法列表vue-resource的请求API是按照REST风格设计的它提供了7种请求APIget(url, [options])head(url, [options])delete(url, [options])jsonp(url, [options])post(url, [body], [options])put(url, [body], [options])patch(url, [body], [options])除了jsonp以外另外6种的API名称都是标准的HTTP方法。当服务端使用REST API时客户端的编码风格和服务端的编码风格近乎一致这可以减少前端和后端开发人员的沟通成本。options对象发送请求时的options选项对象包含以下属性Response返回对象的参数以及对象的方法如下五、示例代码简单的post提交{// POST /someUrlthis.$http.post(/someUrl,{foo:bar}).then(response{// get statusresponse.status;// get status textresponse.statusText;// get Expires headerresponse.headers.get(Expires);// get body datathis.someDataresponse.body;},response{// error callback});}带查询参数和自定义请求头的GET请求:在这里插入代码片{// GET /someUrl?foobarthis.$http.get(/someUrl,{params:{foo:bar},headers:{X-Custom: ...}}).then(response{// success callback},response{// error callback});}获取图片并使用blob()方法从响应中提取图片的主体内容。// GET /image.jpgthis.$http.get(/image.jpg,{responseType:blob}).then(response{// resolve to Blobreturnresponse.blob();}).then(blob{// use image Blob});六、安装npm install vue-resource--save–save参数的作用是在我们的包配置文件package.json文件中添加对应的配置。安装成功后 可以查看package.json文件会发现多了vue-resource: ^1.3.4的配置。具体如下dependencies:{vue:^2.3.3,vue-resource:^1.3.4,vue-router:^2.7.0},七、应用通过以上步骤已经安装好了vue-resource但是在vue-cli中我们如何使用呢首先我们需要在main.js文件中导入并注册vue-resource:importVueResource from vue-resource Vue.use(VueResource)八、resource 服务应用vue-resource提供了另外一种方式访问HTTP——resource服务resource服务包含以下几种默认的actionget: {method: GET},save: {method: POST},query: {method: GET},update: {method: PUT},remove: {method: DELETE},delete: {method: DELETE}1、resource对象也有两种访问方式全局访问和局部访问。//全局访问Vue.resource//局部访问this.$resource可以结合URI Template一起使用以下示例的apiUrl都设置为{/id}了apiUrl:http://*.*.*.*:8080/api/customers{/id}{/id}相当于一个占位符当传入实际的参数时该占位符会被替换。例如{ id: vm.item.customerId}中的vm.item.customerId为12那么发送的请求URL为http://*.*.*.*:8080/api/customers/122、使用实例//使用get方法发送GET请求下面这个请求没有指定{/id}getCustomers:function(){varresourcethis.$resource(this.apiUrl),vmthis;resource.get().then((response){vm.$set(gridData,response.data);}).catch(function(response){console.log(response);})}//使用save方法发送POST请求下面这个请求没有指定{/id}createCustomer:function(){varresourcethis.$resource(this.apiUrl),vmthis;resource.save(vm.apiUrl,vm.item).then((response){vm.$set(item,{});vm.getCustomers();});this.showfalse;}//使用update方法发送PUT请求下面这个请求指定了{/id}updateCustomer:function(){varresourcethis.$resource(this.apiUrl),vmthis;resource.update({id:vm.item.customerId},vm.item).then((response){vm.getCustomers();})}九、拓展阅读《Vue进阶三Axios使用详解》《Vue进阶四使用 Vuex axios 发送请求》《vue-resource 拦截器interceptors使用》

相关新闻

2026年毕业论文模板工具横向评测推荐:学范文等五大平台深度解析

2026年毕业论文模板工具横向评测推荐:学范文等五大平台深度解析

赶在2026年毕业季前,很多同学已经被开题报告和毕业论文模板逼到疯狂挠头。要我说,选对一款论文辅助工具,比熬夜复制粘贴强一百倍。本文基于近期对主流平台的实际体验,把学范文、知网研学、笔杆网、万方选题、学术堂这五家拉出来横…

2026/8/7 23:09:36 阅读更多 →
HFSS波端口错误排查:内部端口与PEC支撑问题的原理与解决

HFSS波端口错误排查:内部端口与PEC支撑问题的原理与解决

1. 问题现象与背景解析 如果你在Ansys HFSS中进行电磁仿真时,遇到了“Waveport s is internal to solution domain and not fully backed with a PEC object”这个警告或错误信息,先别慌,这几乎是每一位高频电磁场仿真工程师在进阶路上都会遇…

2026/8/7 23:09:36 阅读更多 →
2026年GEO优化收费标准多少?源头厂家怎么选才不踩坑?

2026年GEO优化收费标准多少?源头厂家怎么选才不踩坑?

一、2026年GEO优化市场全景:收费标准与商业价值解析 随着AI大模型重塑信息获取方式,GEO(生成式引擎优化)在2026年已成为企业营销的必选项。从ChatGPT到国内的DeepSeek、豆包、元宝等平台,如何让产品与服务被大模型准确…

2026/8/7 23:09:36 阅读更多 →

最新新闻

Linphone Android如何用异步架构重构通信体验:从卡顿瓶颈到毫秒级响应

Linphone Android如何用异步架构重构通信体验:从卡顿瓶颈到毫秒级响应

Linphone Android如何用异步架构重构通信体验:从卡顿瓶颈到毫秒级响应 【免费下载链接】linphone-android Linphone.org mirror for linphone-android (https://gitlab.linphone.org/BC/public/linphone-android) 项目地址: https://gitcode.com/gh_mirrors/li/li…

2026/8/8 1:11:03 阅读更多 →
替代料如何实现Pin-to-Pin上板即用

替代料如何实现Pin-to-Pin上板即用

替代料如何实现Pin-to-Pin上板即用结论先说:Pin-to-Pin不是“脚距一样、封装相近”,而是替代料装到原PCB后,不改焊盘、不飞线、不调整外围参数,就能满足原来的功能、性能、可靠性与安全要求。要实现上板即用,必须通过机…

2026/8/8 1:11:03 阅读更多 →
15分钟黑苹果革命:OpCore-Simplify图形化配置终极指南

15分钟黑苹果革命:OpCore-Simplify图形化配置终极指南

15分钟黑苹果革命:OpCore-Simplify图形化配置终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而烦恼吗&am…

2026/8/8 1:11:03 阅读更多 →
5G VoNR技术解析:高清语音通话的实现与优化

5G VoNR技术解析:高清语音通话的实现与优化

1. 5G与VoNR技术全景解析当我们在城市里看到越来越多的5G基站时,可能很少有人意识到这些铁塔背后正在发生一场通信技术的革命。作为从业十余年的通信工程师,我见证了从2G到5G的演进过程,而VoNR(Voice over New Radio)无…

2026/8/8 1:09:02 阅读更多 →
PostgreSQL安装配置与基础操作指南

PostgreSQL安装配置与基础操作指南

1. PostgreSQL入门指南:从安装到基础应用PostgreSQL作为一款功能强大的开源关系型数据库系统,已经成为了企业级应用和开发者工具箱中不可或缺的一部分。我最初接触PostgreSQL是在2013年一个电商项目的数据迁移工作中,当时就被它出色的JSON支持…

2026/8/8 1:09:02 阅读更多 →
网络工程师实战入门:从零构建企业网与故障排查方法论

网络工程师实战入门:从零构建企业网与故障排查方法论

最近两年,我身边想转行或者刚入行的朋友,问得最多的问题就是:“网络工程师到底该怎么学?” 他们手里可能有一堆教程,从“零基础”到“实战案例”应有尽有,但真正打开电脑,面对一个模拟的网络拓扑…

2026/8/8 1:09:02 阅读更多 →

日新闻

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

当下AI应用飞速普及,无数企业下场搭建智能体系统,可落地阶段难题接踵而至:上下文无限堆积频繁爆栈、AI工具调用准确率低下、Token成本居高不下、企业数据权限混乱暗藏安全隐患……很多团队卡在架构搭建环节,空有前沿技术概念&…

2026/8/8 0:00:07 阅读更多 →
PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码 【免费下载链接】php-qrcode A PHP QR Code generator and reader with a user-friendly API. 项目地址: https://gitcode.com/gh_mirrors/ph/php-qrcode 在当今数字时代,二维码已…

2026/8/8 0:00:08 阅读更多 →
UniApp微信小程序隐私保护组件开发:从原理到实战

UniApp微信小程序隐私保护组件开发:从原理到实战

1. 项目缘起:为什么我们需要一个隐私保护通用组件?最近在维护一个基于uniapp开发的微信小程序矩阵时,我遇到了一个非常棘手的问题。随着平台对用户隐私保护的要求越来越严格,几乎每一个新版本发布,或者在某些特定机型&…

2026/8/8 0:00:08 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/7 23:24:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/7 17:02:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/7 23:54:54 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/7 17:02:36 阅读更多 →