Vue2和Vue3axios的如何使用,Vue3全局配置axios,axios全局配置

简介: Vue2和Vue3axios的如何使用,Vue3全局配置axios,axios全局配置

1、axios的使用第一步先装包

npm i axios -S

2、axios的使用方法,先导入包,再绑定事件,再注册事件

3、axios如何实现post请求

4、Vue挂载axios,简便输入地址:

5、通过this实例,可以访问到axios的链接

6、给他改成$http的格式

7、要发起请求用this.$http

8、这样写法耦合死比较严重,如何进行修改:

9、这时我们可以通过axios做一些全局配置,在main.js文件中

10、后使用直接写,路径地址就行,这样比较方便一些

11、这种做法最大的缺点是无法实现API的副用

Vue3axios的使用:

所有组件都由App管

第一步,先在utils下创建一个request.js文件

第二步:utils下的request.js文件:

import axios from "axios";
import { ElMessage } from "element-plus";
 
const baseURL = '/api';
const instance = axios.create({
    baseURL: baseURL
});
import { useTokenStore } from '@/stores/token.js'
//添加请求拦截器
instance.interceptors.request.use(
    (config) => {
        //请求前的回调
        //添加token
        const tokenStore = useTokenStore();
        //判断有没有token
        if (tokenStore.token) {
            config.headers.Authorization = tokenStore.token
        }
        return config;
    },
    (err) => {
        //请求错误的回调
        Promise.reject(err)
    }
)
instance.interceptors.response.use(
    result => {
        // 判断业务状态代码
        if (result.data.code === 0) {
            return result.data;
        }
        // 操作失败
        // alert(result.data.msg ? result.data.msg : '服务异常')
        ElMessage.error(result.data.msg ? result.data.msg : '服务异常')
        return Promise.reject(result.data)
    },
    err => {
        alert('服务异常');
        return Promise.reject(err);
    }
)
// 导出axios自定义函数
export default instance

第三步:不同的接口写不同的方法,之后调用API接口就在Api里写就行了,用的时候先import内容

参考资料:

home样式_1_哔哩哔哩_bilibili

Vue3接口的资料参考,72节:

安装下载

实战篇-60_大事件_注册_接口调用_哔哩哔哩_bilibili

Vue2调用axios获取数据方法

Vue3要求是在request.js中写好,然后在API中的URL写好路径,API的是访问的接口,request.js中的是baseURL,是后端的那个9090

import axios from "axios";
import { ElMessage } from "element-plus";
 
const baseURL = 'http://localhost:9090';
const instance = axios.create({
    baseURL: baseURL
});
import { useTokenStore } from '@/stores/token.js'
//添加请求拦截器
instance.interceptors.request.use(
    (config) => {
        //请求前的回调
        //添加token
        const tokenStore = useTokenStore();
        //判断有没有token
        if (tokenStore.token) {
            config.headers.Authorization = tokenStore.token
        }
        return config;
    },
    (err) => {
        //请求错误的回调
        Promise.reject(err)
    }
)
instance.interceptors.response.use(
    result => {
        // 判断业务状态代码
        if (result.data.code === 0) {
            return result.data;
        }
        // 操作失败
        // alert(result.data.msg ? result.data.msg : '服务异常')
        ElMessage.error(result.data.msg ? result.data.msg : '服务异常')
        return Promise.reject(result.data)
    },
    err => {
        alert('服务异常');
        return Promise.reject(err);
    }
)
// 导出axios自定义函数
export default instance

一个类似这样的get请求方法,如何写

看Vue3各种接口编写,这一种如果把参数写过去的话,会以json格式传过去,意思是向后端发送json数据 遍历他,会有响应的数据

用的时候import导入就行

Vue3全局挂载使用axios和设置baseURL

import { createApp } from 'vue'
import { QuillEditor } from '@vueup/vue-quill'
import '@vueup/vue-quill/dist/vue-quill.snow.css';
import App from './App.vue'
import router from '@/router'
import { createPinia } from 'pinia'
import { createPersistedState } from 'pinia-persistedstate-plugin'
import ElementPlus from 'element-plus'
import locale from 'element-plus/theme-chalk/index.css'
import * as ElementPlusIconsVue from '@element-plus/icons'
import axios from "axios";
// Vue.prototype.$http=axios;
// axios.defaults.baseURL="http://localhost:9090"
// import editor from '@/views/editorViewDemo.vue'
// main.ts
 
import 'element-plus/dist/index.css'
const app = createApp(App)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}
app.config.globalProperties.$http =axios;
axios.defaults.baseURL="http://localhost:9090";
相关文章
|
4天前
|
前端开发 JavaScript API
技术经验分享:axios的全局配置baseUrl
技术经验分享:axios的全局配置baseUrl
|
14天前
|
前端开发 开发工具 数据安全/隐私保护
开源项目推荐-vue2+element+axios 个人财务管理系统
【6月更文挑战第5天】项目简介 vue2+element+axios 个人财务管理系统 是基于 vue2+element+axios 等主流技术栈构建的免费开源的后台管理前端模板。 项目特色 • 简洁易用:无过渡封装 ,易上手。 • 权限管理:用户、角色、菜单、字典、部门等完善的权限系统功能。 • 基础设施:路由、代码规范、Git 提交规范、常用组件封装。 • 持续更新:持续更新,及时跟进最新的技术和工具。 项目预览 登录页面的为动态效果,在刚刷新或者刚进入的时候有个卫星环绕的动画效果,鼠标移动或者悬浮都有不同的动态效果。 首页首次进入效果:
25 1
|
5天前
|
XML 前端开发 JavaScript
Vue3数据交互axios
Vue3数据交互axios
10 0
|
2月前
|
前端开发 JavaScript 数据格式
vue3中axios添加请求和响应的拦截器
vue3中axios添加请求和响应的拦截器
25 1
|
2月前
|
缓存 前端开发 JavaScript
前端vue3分享——项目封装axios、vite使用env环境变量
前端vue3分享——项目封装axios、vite使用env环境变量
82 0
|
2月前
|
JavaScript
vue封装axios(用interceptors封装)
vue封装axios(用interceptors封装)
27 0
|
2月前
|
JSON 前端开发 JavaScript
3分钟让你学会axios在vue项目中的基本用法(建议收藏)
3分钟让你学会axios在vue项目中的基本用法(建议收藏)
257 0
|
6天前
|
JavaScript
vue对axios封装
vue对axios封装
15 2
|
7天前
|
存储 JSON 自然语言处理
SSMP整合案例交互之在idea中利用vue和axios发送异步请求进行前后端调用
SSMP整合案例交互之在idea中利用vue和axios发送异步请求进行前后端调用
12 2
|
6天前
|
JavaScript 前端开发 Java
vue使用axios与springboot通讯
vue使用axios与springboot通讯
11 0