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也能包含文件
Oct 26 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
Dec 27 Javascript
在vs2010中调试javascript代码方法
Feb 11 Javascript
jquery图片轮播特效代码分享
Apr 20 Javascript
JavaScript提升性能的常用技巧总结【经典】
Jun 20 Javascript
聊一聊JS中的prototype
Sep 29 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
Jan 10 Javascript
100行代码理解和分析vue2.0响应式架构
Mar 09 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
Nov 07 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
Nov 22 Javascript
vue-cli项目修改文件热重载失效的解决方法
Sep 19 Javascript
Vue实现剪贴板复制功能
Dec 31 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
深入了解php4(2)--重访过去
2006/10/09 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
js实现适配移动端的拖动效果
2020/01/13 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
Vue循环中多个input绑定指定v-model实例
2020/08/31 Javascript
用Python抢过年的火车票附源码
2015/12/07 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
TensorFlow实现创建分类器
2018/02/06 Python
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
好莱坞百老汇御用王牌美妆:Koh Gen Do 江原道
2018/04/03 全球购物
校园之星获奖感言
2014/01/29 职场文书
群众路线领导对照材料
2014/08/23 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
进行数据处理的6个 Python 代码块分享
2022/04/06 Python