Vue axios全局拦截 get请求、post请求、配置请求的实例代码


Posted in Javascript onNovember 28, 2018

下面通过一段代码给大家介绍Vue axios全局拦截 get请求、post请求、配置请求,具体代码如下所述:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <script src="../node_modules/vue/dist/vue.js"></script>
 <script src="../node_modules/axios/dist/axios.js"></script>
 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
</head>
<body>
<div id="app" class="container">
 <h1>axios插件讲解</h1>
 <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="btn btn-primary" v-on:click="get">Get请求</a>
 <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="btn btn-primary" v-on:click="post">Post请求</a>
 <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="btn btn-primary" v-on:click="http">http</a>
 <div>
 <span>{{this.msg}}</span>
 </div>
</div>
<script>
 new Vue({
 el: '#app',
 data: {
  msg: ''
 },
 mounted () {
  // 请求拦截
  axios.interceptors.request.use(config => {
  return config
  },error => {
  return Promise.reject(error)
  })
  axios.interceptors.response.use(response => {
  // 预处理相应的数据
  return response
  }, error => {
  // 错误返回 状态码验证
  return Promise.reject(error)
  })
 },
 methods: {
  get () {
  axios.get('../package1.json', {
   params: {
   userId: '999'
   },
   headers: {
   token: 'jack'
   }
  }).then(res => {
   this.msg = res.data
  }).catch(error => {
   console.log('error init.' + error)
  })
  },
  post () {
  axios.post('../package.json', {
   userId: '888'
  },{
   headers: {
   token: 'tom'
   }
  }).then(res => {
   this.msg = res.data
  }).catch(error => {
   console.log('error init.' + error)
  })
  },
  http () {
  // 配置请求
  axios({
   url: '../package.json',
   method: 'get',
   // if method is post
   data: {
   userId: '101'
   },
   // if method is get
   params: {
   userId: '102'
   },
   headers: {
   token: 'http-test'
   }
  }).then(res => {
   this.msg = res.data
  }).catch(error => {
   console.log('error init.' + error)
  })
  }
 }
 })
</script>
</body>
</html>

ps:下面看下vue axios数据请求get、post方法的使用

我们常用的有get方法以及post方法,下面简单的介绍一下这两种请求方法

vue中使用axios方法我们先安装axios这个方法

npm install --save axios

安装之后采用按需引入的方法,哪个页面需要请求数据就在哪个页面里引入一下。

import axios from 'axios'

引入之后我们就可以进行数据请求了,在methods中创建一个方法

methods:{
 getInfo(){
  let url = "url"
  axios.get(url).then((res)=>{
   console.log(res)
  })  
 } 
}

然后我们在mounted这个生命周期中进行调用

mounted(){
  this.getInfo() 
 }

这样就可以在控制台中查看数据,以上是一个简单的get方法数据请求,下面继续介绍一下post方法的使用,其实post和get的使用没有什么区别只是再加上一个参数就可以了,看一下我们的代码

methods:{
 postInfo(){
  let url = "url"
  let params=new URLSearchParams();//这个方法在axios的官网中有介绍,除了这个方法还有qs这个方法
  params.append("key",index) 
  params.append("key",index)
  axios.post(url,params).then((res)=>{
   console.log(res)
  })
 } 
}

同样在mounted这个生命周期中进行调用

mounted(){
  this.postInfo()
 }

总结

以上所述是小编给大家介绍的Vue axios全局拦截 get请求、post请求、配置请求的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
基于JQuery的浮动DIV显示提示信息并自动隐藏
Feb 11 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
Jan 23 Javascript
jQuery固定元素插件scrolltofixed使用指南
Apr 21 Javascript
JavaScript实现LI列表数据绑定的方法
Aug 04 Javascript
JS实现三个层重叠点击互相切换的方法
Oct 06 Javascript
AngularJS基础 ng-dblclick 指令用法
Aug 01 Javascript
基于javascript的Form表单验证
Dec 29 Javascript
vue单页缓存方案分析及实现
Sep 25 Javascript
ng-repeat指令在迭代对象时的去重方法
Oct 02 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
Jan 06 Javascript
JS判断两个数组或对象是否相同的方法示例
Feb 28 Javascript
layui自定义工具栏的方法
Sep 19 Javascript
jQuery实现购物车的总价计算和总价传值功能
Nov 28 #jQuery
vue与原生app的对接交互的方法(混合开发)
Nov 28 #Javascript
vue微信分享出来的链接点开是首页问题的解决方法
Nov 28 #Javascript
vue实现微信分享功能
Nov 28 #Javascript
vue微信分享到朋友圈 vue微信发送给好友
Nov 28 #Javascript
详解小程序rich-text对富文本支持方案
Nov 28 #Javascript
微信小程序实现简单评论功能
Nov 28 #Javascript
You might like
两种php调用Java对象的方法
2006/10/09 PHP
PHP中使用gettext来支持多语言的方法
2011/05/02 PHP
PHP调用Webservice实例代码
2011/07/29 PHP
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
php操作xml
2013/10/27 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
PHP微信API接口类
2016/08/22 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
javascript延时加载之defer测试
2012/12/28 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2015/04/01 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
js实现选项卡效果
2020/03/07 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
Mac安装python3的方法步骤
2019/08/09 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
2019/09/29 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
租车协议书范本
2014/04/22 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
C++程序员求职信
2014/05/07 职场文书
初中班长竞选稿
2015/11/20 职场文书