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 相关文章推荐
JavaScript 错误处理与调试经验总结
Aug 10 Javascript
js浮动图片的动态效果
Jul 10 Javascript
node.js 使用ejs模板引擎时后缀换成.html
Apr 22 Javascript
javascript中Function类型详解
Apr 28 Javascript
Angular实现搜索框及价格上下限功能
Jan 19 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
Jan 08 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
Mar 07 Javascript
微信小程序中显示倒计时代码实例
May 09 Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 Javascript
浅谈ECMAScript 中的Array类型
Jun 10 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
Mar 03 Javascript
JavaScript实现旋转木马轮播图
Mar 16 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 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
angular2模块和共享模块详解
2018/04/08 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
vue+Element-ui实现分页效果
2020/11/15 Javascript
python直接访问私有属性的简单方法
2016/07/25 Python
python实现杨辉三角思路
2017/07/14 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
Python同时处理多个异常的方法
2020/07/28 Python
python 图像增强算法实现详解
2021/01/24 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
Maxpeedingrods美国:高性能汽车零件
2020/02/14 全球购物
门卫岗位职责
2013/11/15 职场文书
人事主管岗位职责
2014/01/30 职场文书
明信片寄语大全
2014/04/08 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
python - timeit 时间模块
2021/04/06 Python
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
微信小程序实现聊天室功能
2021/06/14 Javascript
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python