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 相关文章推荐
ExtJS Window 最小化的一种方法
Nov 18 Javascript
JavaScript 常用函数
Dec 30 Javascript
eval的两组性能测试数据
Aug 17 Javascript
Javascript基础教程之for循环
Jan 18 Javascript
基于jQuery仿淘宝产品图片放大镜特效
Oct 19 Javascript
浅谈js的url解析函数封装
Jun 28 Javascript
jQuery实现页面滚动时智能浮动定位
Jan 08 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
Jun 04 Javascript
React 使用recharts实现散点地图的示例代码
Dec 07 Javascript
过滤器vue.filters的使用方法实现
Sep 18 Javascript
JavaScript实现页面动态验证码的实现示例
Mar 23 Javascript
vue postcss-px2rem 自适应布局
May 15 Vue.js
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网站备份程序代码分享
2011/06/10 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
简单分析javascript中的函数
2016/09/10 Javascript
jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法
2016/11/23 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
2017/12/26 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
基于python二叉树的构造和打印例子
2019/08/09 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
单位委托书范本(3篇)
2014/09/18 职场文书
井冈山红色之旅心得体会
2014/10/07 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
my.ini优化mysql数据库性能的十个参数(推荐)
2021/05/26 MySQL
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA