文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

1.vue3+vite开发中axios使用及跨域问题解决

2023-09-21 08:47

关注

一、跨域问题解决

 1.基于vite+vue3配置时,在vite.congig.js文件server项目中添加 proxy代理

  文件名:vite.congig.js

  server: {    open: true,//启动项目自动弹出浏览器    port: '3000',    proxy: {      '/api': {        target: 'http://localhost:8000/api/',        changeOrigin: true,        rewrite: (path) => path.replace(/^\/api/, '') // 不可以省略rewrite      }    }

2.axios封装时设置基本路径baseURL

  const instance = axios.create({  baseURL:  '/api', // api的base_url import.meta.env.VUE_APP_BASE_API 也可以直接写  timeout: 10000, // 请求超时时间  headers: {    'Content-Type': 'application/json;charset=UTF-8'  }});

二、provide/inject 实现axios 全区使用

  在main.js中provide

   app.provide('axios', axios)

  在组件内获取

  import { inject } from 'vue'

  const axios = inject('axios')

  axios.post()

具体代码如下:

1.axios封装http.js
import axios,{AxiosRequestConfig,AxiosResponse} from 'axios'import { ElLoading } from 'element-plus';let loading:any;const startLoading = ()=>{  interface Options {    lock: boolean;    text: string;    background: string;  };  const options:Options = {    lock: true,    text: "加载中...",    background: "rgba(0,0,0,0.7)"  }  loading = ElLoading.service(options)}const endLoading = ()=>{  loading.close()}const instance = axios.create({  baseURL:  '/api', // api的base_url import.meta.env.VUE_APP_BASE_API 也可以直接写  timeout: 10000, // 请求超时时间  headers: {    'Content-Type': 'application/json;charset=UTF-8'  }});// 请求拦截instance.interceptors.request.use((config:AxiosRequestConfig) =>{  startLoading(); //  开始loading  return config})// 响应拦截instance.interceptors.response.use((response:AxiosResponse) =>{  endLoading(); //  结束loading  return response;},error =>{  return Promise.reject(error)  // 错误提醒})export default axios
2.全区应用main.js
// 加载 axiosimport axios from './http'const app = createApp(App)// 全局挂载axiosapp.provide('axios', axios)
3.组件中使用
 import { inject } from 'vue'  const axios = inject('axios')  // @ts-ignore axios.post('/api/users/register', props.registerUser)

来源地址:https://blog.csdn.net/lap2004/article/details/132310639

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯