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 相关文章推荐
IE和firefox浏览器的event事件兼容性汇总
Dec 06 Javascript
基于jquery的tab切换 js原理
Apr 01 Javascript
js中top/parent/frame概述及案例应用
Feb 06 Javascript
JavaScript定义类和对象的方法
Nov 26 Javascript
JS简单实现多级Select联动菜单效果代码
Sep 06 Javascript
javascript适合移动端的日期时间拾取器
Nov 10 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
May 24 Javascript
Javascript 一些需要注意的细节(必看篇)
Jul 08 Javascript
JavaScript面向对象中接口实现方法详解
Jul 24 Javascript
解决axios post 后端无法接收数据的问题
Oct 29 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
May 18 Javascript
vue打开新窗口并实现传参的图文实例
Mar 04 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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
PHP编码规范-php coding standard
2007/03/16 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
2016/01/03 PHP
PHP设计模式之工厂模式详解
2017/10/24 PHP
Javascript技巧之不要用for in语句对数组进行遍历
2010/10/20 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
brook javascript框架介绍
2011/10/10 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
[45:16]完美世界DOTA2联赛循环赛 IO vs FTD BO2第二场 11.05
2020/11/06 DOTA
Python排序搜索基本算法之插入排序实例分析
2017/12/11 Python
python 同时读取多个文件的例子
2019/07/16 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
python实现udp传输图片功能
2020/03/20 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
考试不及格的检讨书
2014/01/22 职场文书
门前三包责任书
2014/04/15 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
离职保密承诺书
2014/05/28 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
旷工辞退通知书
2015/04/17 职场文书
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫
python双向链表实例详解
2022/05/25 Python