下面通過一段代碼給大家介紹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請求、配置請求的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答