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 更严格的相等 [译]
Sep 20 Javascript
JS验证身份证有效性示例
Oct 11 Javascript
jQuery 中DOM 操作详解
Jan 13 Javascript
jQuery表单验证插件解析(推荐)
Jul 21 Javascript
前端框架Vue.js中Directive知识详解
Sep 12 Javascript
bootstrap table使用入门基本用法
May 24 Javascript
bootstrap table sum总数量统计实现方法
Oct 29 Javascript
最新Javascript程序员面试试题和解题方法
Nov 23 Javascript
vue实现密码显示隐藏切换功能
Feb 23 Javascript
vue使用i18n实现国际化的方法详解
Sep 05 Javascript
Node.js 在本地生成日志文件的方法
Feb 07 Javascript
Vue3 Composition API的使用简介
Mar 29 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
Web程序工作原理详解
2014/12/25 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
jquery移动节点实例
2015/01/14 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
python实现telnet客户端的方法
2015/04/15 Python
对于Python的框架中一些会话程序的管理
2015/04/20 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python 读取二进制 显示图片案例
2020/04/24 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
面向对象编程OOP的优点
2013/01/22 面试题
简单叙述一下MYSQL的优化
2016/05/09 面试题
装修设计师求职信
2014/02/26 职场文书
信息管理应届生求职信
2014/03/07 职场文书
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
2015年妇女工作总结
2015/05/14 职场文书
格林童话读书笔记
2015/06/30 职场文书
Python使用pyecharts控件绘制图表
2022/06/05 Python