vue-vue3跨域问题梳理

本文详细阐述了在Vue项目中遇到跨域问题的常见现象,通过展示如何在vue.config.js中配置代理以及axios请求头来解决。重点在于理解Access-Control-Allow-Origin限制,并给出了相应的配置实例。

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

1. 跨域问题现象

Access to XMLHttpRequest at 'http://127.0.0.1:9611/login' from origin 'http://localhost:6370' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

如图:
在这里插入图片描述

2. 解决方式

  1. 在vue工程中找到vue.config.js,在module.exports中进行配置
module.exports = {
  // publicPath: './',
  outputDir: 'dist',
  assetsDir: 'static',
  lintOnSave: false,
  productionSourceMap: false,
  devServer: {
    port: port,
    open: false,
    hot: true,
    overlay: {
      warnings: false,
      errors: true
    }
   ,
   // 跨域地址配置,地址重写配置
    proxy: {
      '/api': {
        target: 'http://127.0.0.1:9611/',
        changeOrigin: true,
        ws: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  },
  1. 在配置axios的请求响应文件中配置(根据自己定义)
const service = axios.create({
  baseURL: "/api",	// 与重写地址一直
  timeout: 10000, // 超时时间
  headers: { 'Content-Type': 'application/json;charset=utf-8' }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值