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 import css实例代码
Jul 18 Javascript
require.js深入了解 require.js特性介绍
Sep 04 Javascript
js预加载图片方法汇总
Jun 15 Javascript
javascript新闻跑马灯实例代码
Jul 29 Javascript
Form表单按回车自动提交表单的实现方法
Nov 18 Javascript
jQuery源码分析之init的详细介绍
Feb 13 Javascript
基于滚动条位置判断的简单实例
Dec 14 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
Mar 01 Javascript
基于Vue渲染与插件的加载顺序的问题详解
Mar 05 Javascript
js神秘的电报密码 哈弗曼编码实现
Sep 10 Javascript
js将URL网址转为16进制加密与解密函数
Mar 04 Javascript
基于ajax实现上传图片代码示例解析
Dec 03 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 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
YII框架http缓存操作示例
2019/04/29 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
取得父标签
2006/11/14 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
js仿360开机效果
2019/12/26 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
python编码最佳实践之总结
2016/02/14 Python
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
Python命令行解析模块详解
2018/02/01 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
python绘制封闭多边形教程
2020/02/18 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
美国领先的奢侈美容零售商:Bluemercury
2017/07/26 全球购物
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
大学生实习证明范本
2014/01/15 职场文书
爱之链教学反思
2014/04/30 职场文书
岗位说明书范文
2014/05/07 职场文书
2015年度党员个人总结
2015/02/14 职场文书
学校2016年圣诞节活动总结
2016/03/31 职场文书
实现一个简单得数据响应系统
2021/11/11 Javascript
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS