iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue3如何实现挂载并使用axios
  • 500
分享到

vue3如何实现挂载并使用axios

2024-04-02 19:04:59 500人浏览 薄情痞子
摘要

目录vue3挂载并使用axiOSVue全局挂载axiosvue3挂载并使用axios 首先在main.js中引入axios并挂载到app.config.globalPropertie

vue3挂载并使用axios

首先在main.js中引入axios并挂载到app.config.globalProperties上

axios配置文件放置./assets/js/axios

main.js

import {
    createApp
} from 'vue'
import App from './App.vue'
import './index.CSS'
import axios from './assets/js/axios';
const app = createApp(App);
app.use(router).use(ElementPlus).mount('#app')
app.config.globalProperties.$Http = axios;

其次配置axios.js文件

axios.js

import axios from "axios";
import qs from "qs";
import {
    ElMessageBox
} from 'element-plus';
// axios.defaults.baseURL = ''  //正式
axios.defaults.baseURL = 'http://localhost:8089' //测试
//post请求头
axios.defaults.headers.post["Content-Type"] = "application/x-www-fORM-urlencoded;charset=UTF-8";
//设置超时
axios.defaults.timeout = 10000;
axios.interceptors.request.use(
    config => {
        return config;
    },
    error => {
        return Promise.reject(error);
    }
);
axios.interceptors.response.use(
    response => {
        if (response.status == 200) {
            return Promise.resolve(response);
        } else {
            return Promise.reject(response);
        }
    },
    error => {
        ElMessageBox(JSON.stringify(error), '请求异常', {
            confirmButtonText: '确定',
            callback: action => {}
        });
    }
);
export default {
    post(url, data) {
        return new Promise((resolve, reject) => {
            axios({
                    method: 'post',
                    url,
                    data: qs.stringify(data),
                })
                .then(res => {
                    resolve(res.data)
                })
                .catch(err => {
                    reject(err)
                });
        })
    },
    get(url, data) {
        return new Promise((resolve, reject) => {
            axios({
                    method: 'get',
                    url,
                    params: data,
                })
                .then(res => {
                    resolve(res.data)
                })
                .catch(err => {
                    reject(err)
                })
        })
    }
};

最后在.vue中使用

通过getCurrentInstance拿到的ctx就有了$http可以调用

import {
  defineComponent,
  getCurrentInstance,
  Reactive,
  toRefs,
} from "vue";
export default defineComponent({
  name: "demo",
  props: {},
  components: "",
  setup(props, context) {
    //引用全局变量
    const { ctx } = getCurrentInstance();
    console.log(ctx);
    let state = reactive({
      ruleForm: {
        username: "fur",
        passWord: "123",
      }
    });
    function submitForm() {
      ctx.$http.post("/login/xxx", ruleForm).then((res) => {
        //请求成功
      });
    }
    return {
      ...toRefs(state),
      submitForm,
    };
  },
});

vue全局挂载axios

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div id="app">
 
  </div>
 
  <script src="./node_modules/vue/dist/vue.js"></script>
  <script src="./node_modules/axios/dist/axios.js"></script>
  <script>
    // 全局挂载axios:给Vue函数添加一个原型属性$axios指向Axios
    // 好处是在vue实例或组件中不用重复引用Axios,直接用this.$axios就能执行axios方法
    Vue.prototype.$axios = axios;
    var App = {
      template: `
        <div><button @click="sendajax">发请求</button></div>
      `,
      methods: {
        sendAjax() {
          console.log(this.$axios);
        }
      }
    };
    new Vue({
      el: '#app',
      data() {
        return {
 
        }
      },
      template: `
        <App />
      `,
      components: {
        App
      }
    });
  </script>
</body>
</html>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: vue3如何实现挂载并使用axios

本文链接: https://www.lsjlt.com/news/152516.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue3如何实现挂载并使用axios
    目录vue3挂载并使用axiosvue全局挂载axiosvue3挂载并使用axios 首先在main.js中引入axios并挂载到app.config.globalPropertie...
    99+
    2022-11-13
  • Vue3全局挂载使用Axios学习实战
    目录引言一、全局挂载二、全局使用引言 在vue2中会习惯性的把axios挂载到全局,以方便在各个组件或页面中使用this.$http请求接口。但是在vue3中取消了Vue.proto...
    99+
    2022-11-13
  • Vue3+TypeScript封装axios并进行请求调用的实现
    不是吧,不是吧,原来真的有人都2021年了,连TypeScript都没听说过吧?在项目中使用TypeScript虽然短期内会增加一些开发成本,但是对于其需要长期维护的项目,TypeS...
    99+
    2022-11-12
  • Vue3如何使用glup打包组件库并实现按需加载
    这篇文章主要介绍“Vue3如何使用glup打包组件库并实现按需加载”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue3如何使用glup打包组件库并实现按需加载”文章能帮助大家解决问题。使用 glu...
    99+
    2023-07-06
  • Vue3如何使用axios发起网络请求
    目录Vue3使用axios发起网络请求1.何为Axios?2.如何安装Axios3.如何封装网络请求和全局实例化axios4. api.js是什么?5.http.js是什么?6.re...
    99+
    2022-11-13
  • Docker如何使用匿名挂载和具名挂载
    小编给大家分享一下Docker如何使用匿名挂载和具名挂载,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据卷volume提到这个匿名挂在和具名挂载,其实要先普及一...
    99+
    2023-06-22
  • ubuntu如何实现永久挂载
    ubuntu实现永久挂载的示例:在终端执行“sudo gedit /etc/fstab”命令。在/etc/fstab添加以下内容:UUID=971f03e1-1793-4840-a4e0-5bc4d5186716 /home/huanr/a...
    99+
    2022-10-23
  • Docker volume挂载卷如何实现
    今天小编给大家分享一下Docker volume挂载卷如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2022-10-19
  • 前端vue3使用axios调用后端接口的实现方法
    目录前言:第一步:在src下创建一个http文件夹,创建一个config的js文件!第二步:在src下创建一个http文件夹,创建一个axios的js文件!第三步:在src下创建一个...
    99+
    2022-12-08
    vue使用axios调用后端接口 axios调用后端接口 vue调用后端接口
  • Vue3怎么使用glup打包组件库并实现按需加载
    这篇文章主要介绍“Vue3怎么使用glup打包组件库并实现按需加载”,在日常操作中,相信很多人在Vue3怎么使用glup打包组件库并实现按需加载问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3怎么使用g...
    99+
    2023-07-05
  • CentOS7中如何实现数据盘挂载
    小编给大家分享一下CentOS7中如何实现数据盘挂载,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux系统分区、格式化、挂载及创建文件系统: https:/...
    99+
    2023-06-26
  • linux如何mount挂载磁盘并设置开机自动mount的实现
    知道大家时间都很宝贵,我直接把流程命令写下来,大家配置完即可,想研究原理的话就往下读 fdisk -l # 查看可挂载的磁盘 df -h # 查看已经挂载的磁盘 mkfs...
    99+
    2022-06-04
    linux mount挂载磁盘 linux mount 开机自动
  • 从0搭建Vue3组件库如何使用 glup 打包组件库并实现按需加载
    目录使用 glup 打包组件库并实现按需加载自动按需引入插件删除打包文件使用 gulpgulp 打包样式打包组件使用 glup 打包组件库并实现按需加载 当我们使用 Vite 库模式...
    99+
    2023-03-23
    glup 打包组件库按需加载 vue3 glup 打包 vue打包组件库
  • Linux下如何使用mount挂载目录
    这篇文章主要介绍了Linux下如何使用mount挂载目录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux 是一切皆文件,整个系统都是当做文件来管理,在Windows中...
    99+
    2023-06-27
  • 使用Axios Element如何实现全局请求loading
    这篇文章给大家分享的是有关使用Axios Element如何实现全局请求loading的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。背景业务需求是这样子的,每当发请求到后端时就触...
    99+
    2022-10-19
  • 使用Dockerfile实现数据卷的挂载问题(推荐)
    大家好,我们今天分享使用Dockerfile来实现数据卷的挂载 首先呢,要了解一下什么是Dockerfile Dockerfile就是 一个可以用来构建镜像的文件,可以理解为一个脚本...
    99+
    2022-11-13
  • vue全局挂载如何实现APP全局弹窗
    本篇内容主要讲解“vue全局挂载如何实现APP全局弹窗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue全局挂载如何实现APP全局弹窗”吧!需求背景app端对接网页端的客服系统,在用户实现网页...
    99+
    2023-06-30
  • 前端使用axios实现下载文件功能的详细过程
    目录1、需求描述2、问题分析3、解决方案4、代码实现总结1、需求描述 在前后端分离开发的项目中,前端无论使用Vue或React哪种框架,发送HTTP请求都会使用Ajax异步请求的方式...
    99+
    2022-11-13
    axios 下载文件 axios下载excel文件 axios怎么下载
  • 如何使用vbs实现收集下载木马并运行
    小编给大家分享一下如何使用vbs实现收集下载木马并运行,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!<script language="...
    99+
    2023-06-08
  • Vue3中如何引入Pinia存储库并使用
    今天小编给大家分享一下Vue3中如何引入Pinia存储库并使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。用自己最喜欢的方...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作