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保护中间件原理与实践