vue3的跨域问题配置

本文介绍了在Vue项目中如何通过vue.config.js配置webpack实现跨域,以及在main.js中设置axios的基础用法,包括设置默认请求基地址和将axios挂载到原型对象上。示例代码详细展示了如何进行代理配置以访问不同域的API,并提供了发送POST请求的例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在vue.config.js文件中配置webpack

// 跨域配置
module.exports = defineConfig({
  transpileDependencies: true,
  configureWebpack: {
    devServer: {
      proxy: {
        "/api": {//捕获API的标志,如果API中有这个字符串,那么就开始匹配代理,
          target: "http://localhost:8090/",//代理的api地址,就是要跨域的地址
          changeOrigin: true,// 这个参数可以让target参数是域名
          ws: true,//是否启用websockets,用不到可设为false
          pathRewrite: {//对路径匹配到的字符串重写
            "^/api": "",
          },
        },
      },
    },
  },
});

2、在main.js中设置axios

import axios from "axios"
import { createApp } from 'vue'
import App from './App.vue'

const app = createApp(App);
app.mount('#app')

//设置axios请求的地址默认是'/api'
axios.defaults.baseURL = "/api";

//将axios挂载到原型对象上
app.config.globalProperties.$http = axios;

3、使用

配置结束,这样就可以使用后端不同域发来的请求了

//此处会拼接成/api/user/login,等效于与后端http://localhost:8090/user/login
this.$http.post("user/login").then((res) => {
   console.log(res);
}) .catch((res) => {
    console.log(res);
});

喜欢的给个赞吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值