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 相关文章推荐
jQuery.validate 常用方法及需要注意的问题
Mar 20 Javascript
JQuery实现用户名无刷新验证的小例子
Mar 22 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
Jun 14 Javascript
分享JavaScript监听全部Ajax请求事件的方法
Aug 28 Javascript
JS 获取HTML标签内的子节点的方法
Sep 21 Javascript
第一次接触神奇的Bootstrap
Oct 14 Javascript
使用node.js中的Buffer类处理二进制数据的方法
Nov 26 Javascript
JavaScript解析任意形式的json树型结构展示
Jul 23 Javascript
vue实现点击展开点击收起效果
Apr 27 Javascript
Vue列表渲染的示例代码
Nov 01 Javascript
vue cli4.0项目引入typescript的方法
Jul 17 Javascript
javascript实现下拉菜单效果
Feb 09 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
初识php MVC
2014/09/10 PHP
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
2017/10/14 jQuery
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
Python遍历字典方式就实例详解
2019/12/28 Python
python基于property()函数定义属性
2020/01/22 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
彪马法国官网:PUMA法国
2019/12/15 全球购物
临床医学系毕业生推荐信
2013/11/09 职场文书
夜大毕业生自我评价分享
2013/11/10 职场文书
趣味比赛活动方案
2014/02/15 职场文书
小学二年级学生评语
2014/04/21 职场文书
团队会宣传标语
2014/10/09 职场文书
限期整改通知书
2015/04/22 职场文书
决心书格式范文
2015/09/23 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS