vue3學習筆記簡單封裝axios示例實現(xiàn)
簡介
axios是一個基于promise的網(wǎng)絡請求庫,管理后臺使用的場景通常 獲取后端api數(shù)據(jù),然后交給頁面渲染
還是在前面的示例項目上操作,安裝axios最新0.27.2版本
cd HELLO-WORLD npm install axios
openapi
在網(wǎng)上找到一個開放的openapi地址,免費且無需認證就可以使用
方便開發(fā)時模擬接口數(shù)據(jù),但不能使用在生產(chǎn)環(huán)境中
該openapi返回json數(shù)據(jù),比較符合我們的需求, 這里直接寫死到axios配置中
基本配置
axios配置項較多,這里只配置基本功能
在src目錄下創(chuàng)建utils文件夾,然后創(chuàng)建request.js文件
import axios from 'axios' //自動加在url前面 axios.defaults.baseURL = 'https://api.apiopen.top' //超時時間 axios.defaults.timeout = 5000 //跨域憑證 axios.defaults.withCredentials = false //響應和請求 攔截器配置 export default axios
攔截器
axios攔截器分為 請求攔截和響應攔截
請求攔截器可以在請求時設置token,header等等
響應攔截器可以在收到數(shù)據(jù)后進行邏輯判斷
請求攔截器配置
axios.interceptors.request.use(config => { console.log(config) return config }, error => { Promise.reject(error) })
響應攔截器配置
axios.interceptors.response.use(res => { if (typeof res.data !== 'object') { ElMessage.error('返回數(shù)據(jù)不是對象!') return Promise.reject(res) } if (res.data.code !== 200 ){ ElMessage.error('返回碼不等于200') } return res.data }, error => { ElMessage.error('網(wǎng)絡異常') Promise.reject(error) })
api請求
在src目錄創(chuàng)建api文件夾,在api目錄中創(chuàng)建openapi.js 文件
創(chuàng)建一個getImages方法來 獲取 openapi的圖片數(shù)據(jù)
該方法指定請求get方法,傳入url和參數(shù)
import request from '../utils/request' export function getImages(params) { return request.get('/api/getImages', { params }) }
數(shù)據(jù)渲染
在components目錄創(chuàng)建一個table.vue的組件,路由配置見前一章
引入openapi,因為是js組件,不需要在vue頁面顯示聲明,直接使用
在頁面創(chuàng)建時調(diào)用請求數(shù)據(jù)方法,頁面加載完成既可在頁面上看到數(shù)據(jù)
<template> <div> <div> <p>this is imagesdata: {{ imagesData }}</p> </div> </div> </template> <script> import { getImages } from '@/api/openapi' export default { name: 'Table', data() { return { imagesData: null, queryData: { page: 0, size: 10, } } }, created() { this.fetchData(); }, methods: { fetchData() { getImages(this.queryData).then( (res) => { this.imagesData = res.result }).finally( () => { console.log(this.imagesData) }) } } } </script>
效果如下
結語: 簡單的axios封裝就完成了,以上就是vue3學習筆記簡單封裝axios示例實現(xiàn)的詳細內(nèi)容,更多關于vue3封裝axios的資料請關注腳本之家其它相關文章!
相關文章
vue3組合API中setup、 ref、reactive的使用大全
本文給大家介紹vue3組合API中setup、 ref、reactive的用法,初步了解reactive的使用及具體用法,通過示例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-06-06Vue3+Element+Ts實現(xiàn)表單的基礎搜索重置等功能
本文主要介紹了Vue3+Element+Ts實現(xiàn)表單的基礎搜索重置等功能,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12elementUI+Springboot實現(xiàn)導出excel功能的全過程
這篇文章主要介紹了elementUI+Springboot實現(xiàn)導出excel功能,現(xiàn)在也對這個導出功能進行一個匯總整理寫出來,結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09