axios封装
axios封装
axios一、axios1、安装CD 方式代码语言:javascript代码运行次数:0运行复制<script src=".min.js"></script>npm 方式代码语言:javascript代码运行次数:0运行复制npm install axios --saveyarn 方式代码语言:javascript代码运行次数:0运行复
axios封装
1、安装
CD 方式
代码语言:javascript代码运行次数:0运行复制<script src=".min.js"></script>
npm 方式
代码语言:javascript代码运行次数:0运行复制npm install axios --save
yarn 方式
代码语言:javascript代码运行次数:0运行复制yarn add axios --save
与 vue-axios 插件一起安装
代码语言:javascript代码运行次数:0运行复制vue-axios 是将 axios 集成到 Vue.js 的轻度封装,本身不能独立使用
npm install axios vue-axios
在 main.js 中使用
代码语言:javascript代码运行次数:0运行复制import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import axios from 'axios' // 导入 axios
import VueAxios from 'vue-axios' // 导入 vue-axios
ct app = createApp(App)
app.use(store)
app.use(router)
// 注意这里要将 VueAxios 放在前面,否则报错 Maximum call stack size exceeded
app.use(VueAxios, axios)
('#app')
2、基本使用
配置封装 config-util.js
代码语言:javascript代码运行次数:0运行复制export default {
baseUrl: {
// 开发环境
dev: 'xxx',
// 生产环境
prod: 'xxx'
}
}
请求封装 http-util.js
代码语言:javascript代码运行次数:0运行复制根据需要
import axios from 'axios' // 引入axios
import config from '@/api/utils/config-util.js' // 引入配置文件
ct instance = ({
baseURL: config.baseUrl.dev,
timeout: 60000
})
// 请求
instance.interceptors.request.use(function (config) {
cole.log('发请求之前', config)
return config
}, function (error) {
cole.log('请求错误', error)
return Promise.reject(error)
})
// 响应
instance.interceptors.respe.use(function (respe) {
cole.log('得到的响应数据', respe)
return respe
}, function (error) {
cole.log('响应错误', error)
return Promise.reject(error)
})
// get请求
export function get (url, data = {}) {
return new Promise((resolve, reject) => {
instance
.get(url, {
params: data
})
.then((respe) => {
resolve(respe)
})
.catch((err) => {
reject(err)
})
})
}
// post请求
export function post (url, data = {}) {
return new Promise((resolve, reject) => {
instance.post(url, data).then(
(respe) => {
resolve(respe.data)
},
(err) => {
reject(err)
}
)
})
}
返回数据封装 return-util.js
代码语言:javascript代码运行次数:0运行复制个人写的,不专业
// 工具类
// 返回请求结果
export ct returnMsg = async promise => {
try {
ct res = await promise
if (res.status === 200) {
return res.data
} else {
return 'no 200 !'
}
} catch (e) {
cole.log( + '====' + )
if (.indexOf('404') !== -1) {
return '404'
}
return 'error'
}
}
测试 api
代码语言:javascript代码运行次数:0运行复制import { get, post } from '@/api/utils/http-util.js'
import { returnMsg } from '@/api/utils/return-util.js'
export ct getHomeData = async data => await returnMsg(get('hello', data))
export ct getHomeData02 = data => post('hello', data)
使用演示
代码语言:javascript代码运行次数:0运行复制<template>
<div>
主页面
<h1>{{ str }}</h1>
</div>
</template>
<script>
import { getHomeData } from '@/api/test-api.js'
import { ref, onMounted } from 'vue'
export default {
setup () {
ct str = ref('默认值')
onMounted(async () => {
ct data = await getHomeData(null)
str.value = data
})
return { str }
}
}
</script>
<style>
</style>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent 删除数据axiosdataimportreturn #感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-23 08:45:27
上一篇:【Vue3】035
推荐阅读
留言与评论(共有 12 条评论) |
本站网友 贵阳租房信息 | 8分钟前 发表 |
axios封装 axios一 | |
本站网友 妇女是什么意思 | 24分钟前 发表 |
'xxx' } }请求封装 http-util.js 根据需要 代码语言:javascript代码运行次数:0运行复制import axios from 'axios' // 引入axios import config from '@/api/utils/config-util.js' // 引入配置文件 ct instance = ({ baseURL | |
本站网友 雕塑公司 | 24分钟前 发表 |
{ // 开发环境 dev | |
本站网友 深圳浪琴半岛 | 30分钟前 发表 |
axios封装 axios一 | |
本站网友 国产电动汽车 | 22分钟前 发表 |
安装CD 方式代码语言:javascript代码运行次数:0运行复制<script src=".min.js"></script>npm 方式代码语言:javascript代码运行次数:0运行复制npm install axios --saveyarn 方式代码语言:javascript代码运行次数:0运行复制yarn add axios --save与 vue-axios 插件一起安装 vue-axios 是将 axios 集成到 Vue.js 的轻度封装 | |
本站网友 吃素的好处 | 20分钟前 发表 |
axios1 | |
本站网友 umax | 24分钟前 发表 |
'xxx' | |
本站网友 男人整容 | 11分钟前 发表 |
timeout | |
本站网友 现代农业项目 | 7分钟前 发表 |
{ params | |
本站网友 北京大兴区 | 17分钟前 发表 |
data = {}) { return new Promise((resolve | |
本站网友 佛龛朝向 | 9分钟前 发表 |
error) return Promise.reject(error) }) // 响应 instance.interceptors.respe.use(function (respe) { cole.log('得到的响应数据' |