Vue-resource实现ajax请求和跨域请求示例
发布时间 - 2026-01-10 23:14:57 点击率:次vue-resource是Vue提供的体格http请求插件,如同jQuery里的$.ajax,用来和后端交互数据的。

在使用时,首先需要安装vue-resource插件
1.在项目跟目录上安装:
npm install vue-resource
2.引入resource插件
import VueResource from 'vue-resource'; Vue.use(VueResource)
3.发送请求:
this.$http.get("http://www.vrserver.applinzi.com/aixianfeng/apihome.php").then(function(res){
console.log(res)
})
ES6写法:
this.$http.get('url', [options]).then((res) => {
// 处理成功的结果}, (res) => { // 处理失败的结果});
在发送请求后,使用then方法来处理响应结果,then方法有两个参数,第一个参数是响应成功时的回调函数,第二个参数是响应失败时的回调函数。
then方法的回调函数也有两种写法,第一种是传统的函数写法,第二种是更为简洁的ES 6的Lambda写法:
POST请求:
this.$http.post("http://www.vrserver.applinzi.com/aixianfeng/apihome.php",{name:"abc"},{emulateJSON:true}).then(
function (res) {
// 处理成功的结果
alert(res.body);
},function (res) {
// 处理失败的结果
}
);
JSONP请求:
new Vue({ ready() {
this.$http.jsonp('/url', {name:"abc"}) .then(function (res){
console.log(res)
}, function (res) {
console.log(res)
});
}
})
吐槽一下,现在应该没有用到JSON的了吧,有的话真呵呵呵了。
支持的HTTP方法
vue-resource的请求API是按照REST风格设计的,它提供了7种请求API:
- get(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时,客户端的编码风格和服务端的编码风格近乎一致,这可以减少前端和后端开发人员的沟通成本。
| 客户端请求方法 | 服务端处理方法 |
|---|---|
| this.$http.get(...) | Getxxx |
| this.$http.post(...) | Postxxx |
| this.$http.put(...) | Putxxx |
| this.$http.delete(...) | Deletexxx |
options对象
发送请求时的options选项对象包含以下属性:
| 参数 | 类型 | 描述 |
|---|---|---|
| url | string | 请求的URL |
| method | string | 请求的HTTP方法,例如:'GET', 'POST'或其他HTTP方法 |
| body | Object, FormDatastring | request body |
| params | Object | 请求的URL参数对象 |
| headers | Object | request header |
| timeout | number | 单位为毫秒的请求超时时间 (0 表示无超时时间) |
| before | function(request) | 请求发送前的处理函数,类似于jQuery的beforeSend函数 |
| progress | function(event) | ProgressEvent回调处理函数 |
| credientials | boolean | 表示跨域请求时是否需要使用凭证 |
| emulateHTTP | boolean | 发送PUT, PATCH, DELETE请求时以HTTP POST的方式发送,并设置请求头的X-HTTP-Method-Override |
| emulateJSON | boolean | 将request body以application/x-www-form-urlencoded content type发送 |
emulateHTTP的作用
如果Web服务器无法处理PUT, PATCH和DELETE这种REST风格的请求,你可以启用enulateHTTP现象。启用该选项后,请求会以普通的POST方法发出,并且HTTP头信息的X-HTTP-Method-Override属性会设置为实际的HTTP方法。
Vue.http.options.emulateHTTP = true;
emulateJSON的作用
如果Web服务器无法处理编码为application/json的请求,你可以启用emulateJSON选项。启用该选项后,请求会以application/x-www-form-urlencoded作为MIME type,就像普通的HTML表单一样。
Vue.http.options.emulateJSON = true;
response对象
response对象包含以下属性:
| 方法 | 类型 | 描述 |
|---|---|---|
| text() | string | 以string形式返回response body |
| json() | Object | 以JSON对象形式返回response body |
| blob() | Blob | 以二进制形式返回response body |
| 属性 | 类型 | 描述 |
| ok | boolean | 响应的HTTP状态码在200~299之间时,该属性为true |
| status | number | 响应的HTTP状态码 |
| statusText | string | 响应的状态文本 |
| headers | Object | 响应头 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue
# ajax跨域请求
# resource跨域请求
# resource
# 跨域
# Vue Ajax跨域请求实例详解
# Vue解决ajax跨域的问题
# vue-cli开发时
# 关于ajax跨域的解决方法(推荐)
# vue2 前后端分离项目ajax跨域session问题解决方法
# 如何通过Vue自带服务器实现Ajax请求跨域(vue-cli)
# 回调
# 服务端
# 你可以
# 会以
# 客户端
# 后端
# 也有
# 就像
# 第一个
# 两种
# 第二个
# 或其他
# 设置为
# 表单
# 类似于
# 这可
# 方法来
# 开发人员
# 第二种
# 第一种
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
个人网站制作流程图片大全,个人网站如何注销?
如何用狗爹虚拟主机快速搭建网站?
个人摄影网站制作流程,摄影爱好者都去什么网站?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
北京的网站制作公司有哪些,哪个视频网站最好?
中国移动官方网站首页入口 中国移动官网网页登录
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
大同网页,大同瑞慈医院官网?
如何在IIS中新建站点并解决端口绑定冲突?
高防服务器:AI智能防御DDoS攻击与数据安全保障
Python自动化办公教程_ExcelWordPDF批量处理案例
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
如何在橙子建站上传落地页?操作指南详解
香港网站服务器数量如何影响SEO优化效果?
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何快速启动建站代理加盟业务?
高端建站如何打造兼具美学与转化的品牌官网?
如何登录建站主机?访问步骤全解析
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
如何打造高效商业网站?建站目的决定转化率
googleplay官方入口在哪里_Google Play官方商店快速入口指南
公司门户网站制作流程,华为官网怎么做?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
如何在阿里云虚拟服务器快速搭建网站?
千库网官网入口推荐 千库网设计创意平台入口
如何撰写建站申请书?关键要点有哪些?
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
PythonWeb开发入门教程_Flask快速构建Web应用
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
Laravel安装步骤详细教程_Laravel环境搭建指南
浅析上传头像示例及其注意事项
如何在阿里云通过域名搭建网站?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
Laravel怎么使用artisan命令缓存配置和视图
SQL查询语句优化的实用方法总结
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践

