Vue中使用vue-resource发起HTTP请求详解
本文介绍Vue插件vue-resource的特点,包括体积小、支持主流浏览器、Promise API及拦截器。通过v1.2.1版本示例,展示如何使用this.$http发送GET请求获取JSON数据,并处理响应结果与页面更新。
vue-resource特性概述
vue-resource特性概述
该插件具备以下核心特性:
1. 体积轻量:压缩后仅约12KB,启用gzip压缩后更是缩减至4.5KB,远小于jQuery的体积。
2. 浏览器兼容:与Vue.js一致,除IE 9以下版本外,支持所有主流浏览器。
3. 支持Promise API与URI Templates:Promise作为ES6特性用于处理异步计算;URI Templates类似于ASP.NET MVC的路由模板。
4. 支持拦截器:作为全局机制,可在请求发送前后执行处理逻辑,例如在headers中设置access_token或在请求失败时提供统一处理。
vue-resource使用示例
接下来通过具体示例演示vue-resource在Vue中的应用。
- 版本:vue-resource v1.2.1
- 功能说明:
Vue与后台Api进行交互通常是利用vue-resource来实现的,本质上vue-resource是通过http来完成AJAX请求相应的。
使用方法:
在Vue实例对象中注册this.$http服务以发送HTTP请求,并解析返回结果。此外,Vue实例会自动将回调函数绑定到this所在上下文。
{
// GET /someUrl
this.$http.get('/someUrl').then(response => {
// success callback
}, response => {
// error callback
});
}
快捷方法列表
get(url, [config])
head(url, [config])
delete(url, [config])
jsonp(url, [config])
post(url, [body], [config])
put(url, [body], [config])
patch(url, [body], [config])
配置信息命令

响应处理

源码展示
GET请求JSON文件示例
以下通过GET请求访问JSON文件的方式演示vue-resource的具体用法。
HTML源码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>vue-router</title>
</head>
<body>
<div id="app">
<ul>
<li v-for="item in list">{{item.name}}</li>
</ul>
<button @click="getData">get请求</button>
</div>
<script src="../../../js/vue/vue/1.0/vue.js"></script>
<script src="../../../js/vue/vue-resource/1.2.1/vue-resource.js"></script>
<script type="application/javascript">
var vm = new Vue({
el:'#app'
,data:{
list:[]
}
,methods:{
getData(){
var url = '../json/get.json';
this.$http.get(url).then(function(res){
var body = res.body;
if(body.status){
alert('请求出错!');
}
this.list = body.message;
});
}
}
});
</script>
</body>
</html>
JSON文件内容
{
"status":0
,"message":[
{
"id":1
,"name":"张三"
}
,{
"id":2
,"name":"李四"
}
]
}
运行结果

逻辑分析
逻辑分析
上述代码实现了点击button按钮触发getData的click响应事件,该事件发送URL请求(本地JSON文件请求与后台数据请求方法一致)。请求返回的数据在then()回调函数中处理,例如JSON返回的status响应状态码,0代表成功,否则为失败。响应成功后调用body.message,将数据主体绑定到data数据域中的list中。由于list数据变动,Vue会自动刷新li的v-for中的页面信息,从而完成页面更新。
总结
以上所述是小编给大家介绍的Vue中的vue-resource示例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!
Vue 3 核心变化解析:Composition API 与响应式系统详解
2026-11-03 21:33:38
viewer.js v1 升级到 v2 需要注意哪些 API 变更
2026-11-03 20:42:00
Vue3 与 React 中怎么封装 hls.js 播放器组件
2026-11-03 11:13:51
Vue.js官网访问慢或打不开怎么办?国内镜像与GitHub备用方案
2026-11-02 09:19:09
利用Axios实现无感知双Token刷新的详细教程
2026-11-01 03:11:12
