首页 > 编程 > JavaScript > 正文

Vue axios全局拦截 get请求、post请求、配置请求的实例代码

2019-11-19 12:27:12
字体:
来源:转载
供稿:网友

下面通过一段代码给大家介绍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请求、配置请求的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表