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使用手册之二 DOM操作
Mar 24 Javascript
jQuery ajax BUG:object doesn't support this property or method
Jul 06 Javascript
IE6下通过a标签点击切换图片的问题
Nov 14 Javascript
js实现幻灯片效果(基于jquery插件)
Nov 05 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
Aug 27 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
Dec 27 Javascript
webpack2.0搭建前端项目的教程详解
Apr 05 Javascript
vue-rx的初步使用教程
Sep 21 Javascript
JavaScript使用闭包模仿块级作用域操作示例
Jan 21 Javascript
基于Vue SEO的四种方案(小结)
Jul 01 Javascript
微信小程序自定义波浪组件使用方法详解
Sep 21 Javascript
jQuery实现简单轮播图效果
Dec 27 jQuery
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 代码规范小结
2012/03/08 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
python中__slots__用法实例
2015/06/04 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
TensorFlow实现Logistic回归
2018/09/07 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
Django框架安装方法图文详解
2019/11/04 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
如何在python中判断变量的类型
2020/07/29 Python
python实现无边框进度条的实例代码
2020/12/30 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
Why we need EJB
2016/10/20 面试题
酒店门卫岗位职责
2013/12/29 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
给校长的建议书
2014/03/12 职场文书
公司晚会主持词
2014/03/22 职场文书
假面舞会策划方案
2014/05/29 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
2015年春节标语口号
2014/12/09 职场文书
2014年变电站工作总结
2014/12/19 职场文书
Java中的随机数Random
2022/03/17 Java/Android