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 相关文章推荐
js图片闪动特效可以控制间隔时间如几分钟闪动一下
Aug 12 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
Dec 08 Javascript
JavaScript实现的浮动层框架用法实例分析
Oct 10 Javascript
JavaScript的Number对象的toString()方法
Dec 18 Javascript
基于Javascript实现二级联动菜单效果
Mar 04 Javascript
基于bootstrap的选择框插件icheck
Dec 23 Javascript
js实现适合新闻类图片的轮播效果
Feb 05 Javascript
基于JavaScript实现瀑布流效果
Mar 29 Javascript
vue的token刷新处理的方法
Jul 17 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
Aug 30 Javascript
js 计算图片内点个数的示例代码
Apr 04 Javascript
js常用正则表达式集锦
May 17 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中对于浮点型的数据需要用不同的方法解决
2014/03/11 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
浅析vue-router原理
2018/10/19 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
10个易被忽视但应掌握的Python基本用法
2015/04/01 Python
python字符串连接方法分析
2016/04/12 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
医生实习工作总结的自我评价
2013/09/27 职场文书
英语专业学子个人的自我评价
2013/10/02 职场文书
党员思想汇报范文
2013/12/30 职场文书
晚宴邀请函范文
2014/01/15 职场文书
综合实践活动方案
2014/02/14 职场文书
小学生运动会报道稿
2014/09/12 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
上班迟到检讨书
2015/05/06 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
Python torch.flatten()函数案例详解
2021/08/30 Python
Python中异常处理用法
2021/11/27 Python
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL