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 密码强度判断代码
Sep 05 Javascript
jquery 得到当前页面高度和宽度的两个函数
Feb 21 Javascript
JS 自定义函数缺省值的设置方法
May 05 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
JavaScript中的this到底是什么(一)
Dec 09 Javascript
js 连续赋值的简单实现
Jun 13 Javascript
jquery 中toggle的2种用法详解(推荐)
Sep 02 Javascript
用jmSlip编写移动端顶部日历选择控件
Oct 24 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
Dec 02 Javascript
详解Angular中通过$location获取地址栏的参数
Aug 02 Javascript
[原创]微信小程序获取网络类型的方法示例
Mar 01 Javascript
JS表格的动态操作完整示例
Jan 13 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
在PHP的图形函数中显示汉字
2006/10/09 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
JQuery入门—编写一个简单的JQuery应用案例
2013/01/03 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
sea.js常用的api简易文档
2016/11/15 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
Python开发常用的一些开源Package分享
2015/02/14 Python
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
python通过文件头判断文件类型
2015/10/30 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
社区学习十八大感想
2014/01/22 职场文书
读书月活动方案
2014/05/22 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python