Vue2学习笔记之请求数据交互vue-resource


Posted in Javascript onFebruary 23, 2017

基本语法

必须引入一个库:vue-resource github地址

// 基于全局Vue对象使用http 
Vue.http.get('/someUrl', [options]).then(successCallback, errorCallback);
Vue.http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);

// 在一个Vue实例内使用$http 
this.$http.get('/someUrl', [options]).then(successCallback, errorCallback);
this.$http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);

 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])

Options

Parameter Type Description
url string 请求的UR
body Object, FormData, string request body
headers Object request header
params Object 请求的URL参数对象
method string 请求的HTTP方法,例如:'GET', 'POST'或其他HTTP方法
timeout number 单位为毫秒的请求超时时间 (0 表示无超时时间)
before function(request) 请求发送前的处理函数,类似于jQuery的beforeSend函数
progress function(event) ProgressEvent回调处理函数
credentials boolean 表示跨域请求时是否需要使用凭证
emulateHTTP boolean 发送PUT, PATCH, DELETE请求时以HTTP POST的方式发送,并设置请求头的X-HTTP-Method-Override
emulateJSON boolean 将request body以application/x-www-form-urlencoded content type发送

1. 向文本发出get请求

准备一个1.txt 的文本数据,时面的内容是:welcomet to vue!!!

<!DOCTYPE html>
<html>
<head>
 <title></title>
 <meta charset="utf-8">
 <script src="http://unpkg.com/vue/dist/vue.js"></script>
 <script src="http://files.cnblogs.com/files/zycbloger/vue-resource.min.js"></script>
 <script type="text/javascript">
  window.onload = function(){
   var vm = new Vue({
    el:'#box',
    data:{
     msg:'Hello World!',
    },
    methods:{
     get:function(){
      //发送get请求
      this.$http.get('1.txt').then(function(res){
       alert(res.body); 
      },function(){
       alert('请求失败处理'); //失败处理
      });
     }
    }
   });
  }
 </script>
</head>
<body> 
 <div id="box">
  <input type="button" @click="get()" value="按钮">
 </div>
</body>
</html>

上面代码实现了,点击按钮,就发送get请求,成功就会执行弹窗 welcomet to vue!!!

2. 关于向后端请求,并带参数的写法

<!DOCTYPE html>
<html>
<head>
 <title></title>
 <meta charset="utf-8">
 <script src="http://unpkg.com/vue/dist/vue.js"></script>
 <script src="http://files.cnblogs.com/files/zycbloger/vue-resource.min.js"></script>
 <script type="text/javascript">
  window.onload = function(){
   var vm = new Vue({
    el:'#box',
    data:{
     msg:'Hello World!',
    },
    methods:{
     get:function(){
      //发送get请求
      this.$http.get('get.do',{a:1,b:2}).then(function(res){
       alert(res.body); 
      },function(){
       alert('请求失败处理'); //失败处理
      });
     },

     post:function(){
      //发送post请求
      this.$http.post('post.do',{a:1,b:2}).then(function(res){
       alert(res.body); 
      },function(){
       alert('请求失败处理'); //失败处理
      });
     }
    }
   });
  }
 </script>
</head>
<body> 
 <div id="box">
  <input type="button" @click="get()" value="按钮get">
  <input type="button" @click="post()" value="按钮post">
 </div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何用javascript控制上传文件的大小
Oct 26 Javascript
onmouseover事件和onmouseout事件全面理解
Aug 15 Javascript
jQuery实现边框动态效果的实例代码
Sep 23 Javascript
JavaScript对象封装的简单实现方法(3种方法)
Jan 03 Javascript
微信小程序 picker-view 组件详解及简单实例
Jan 10 Javascript
JS简单生成随机数(随机密码)的方法
May 11 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
Sep 22 Javascript
基于webpack.config.js 参数详解
Mar 20 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
Apr 11 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
Jul 17 Javascript
vue router-link 默认a标签去除下划线的实现
Nov 06 Javascript
JS异步堆栈追踪之为什么await胜过Promise
Apr 28 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
Feb 23 #Javascript
Javascript 链式作用域详细介绍
Feb 23 #Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
Feb 23 #Javascript
bootstrap weebox 支持ajax的模态弹出框
Feb 23 #Javascript
COM组件中调用JavaScript函数详解及实例
Feb 23 #Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
Feb 23 #Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
Feb 23 #Javascript
You might like
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
笑谈配置,使用Smarty技术
2007/01/04 PHP
C# Assembly类访问程序集信息
2009/06/13 PHP
php利用事务处理转账问题
2015/04/22 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
php修改数组键名的方法示例
2017/04/15 PHP
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
浅谈Node 异步IO和事件循环
2019/05/05 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
python with (as)语句实例详解
2020/02/04 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
广州一家公司的.NET面试题
2016/06/11 面试题
好的自荐信包括什么内容
2013/11/07 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
MYSQL 表的全面总结
2021/11/11 MySQL
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript