Vue axios全局拦截 get请求、post请求、配置请求的实例代码
程序员文章站
2022-05-29 21:03:12
下面通过一段代码给大家介绍vue axios全局拦截 get请求、post请求、配置请求,具体代码如下所述:
&...
下面通过一段代码给大家介绍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请求、配置请求的实例代码,希望对大家有所帮助
上一篇: C# + 图灵机器人
下一篇: 网络编程之图灵机器人
推荐阅读