当前位置: 首页 > news >正文

手机企业网站设计理念台州云建站模板

手机企业网站设计理念,台州云建站模板,wordpress+社交链接,凡科网微信小程序对于springboot加vue项目中 vue前端页面,在发送请求时,如:axios.get(‘/api/thing/list’)如果是相对地址,前端会自动拼接前端所运行的地址如http://localhost:5173/api/thing/list但是如果你在vite.config.js中配置了…

对于springboot加vue项目中

vue前端页面,在发送请求时,如:axios.get(‘/api/thing/list’)如果是相对地址,前端会自动拼接前端所运行的地址如http://localhost:5173/api/thing/list但是如果你在vite.config.js中配置了代理

  server: {proxy: {'/api': {target: 'http://localhost:9100', // 后端地址changeOrigin: true,rewrite: (path) => path.replace(/^\/api/, ''), // 可选:是否移除 /api 前缀}}}

那么

  • 代理行为

    • 当浏览器请求 http://localhost:5173/api/thing/list 时,Vite 服务器会拦截该请求。

    • 代理到 http://localhost:9100/api/thing/list(如果没配置 rewrite)。

    • 如果配置了 rewrite: (path) => path.replace(/^\/api/, ''),则代理到 http://localhost:9100/thing/list

前提是:你写的前端请求时相对地址,不是完整的路径,如果你的前端请求写的是完整 URL(如 http://127.0.0.1:9100/api/thing/list),Vite 代理不会生效。

如果你在前端代码中 直接写完整的后端地址(如 http://127.0.0.1:9100/api/thing/list),一定会触发 CORS 跨域问题,因为:


1. 为什么会出现 CORS 问题?

  • 浏览器同源策略:当你的前端页面运行在 http://localhost:5173,而请求发往 http://127.0.0.1:9100 时:

    • 协议 (http)、域名 (localhost vs 127.0.0.1)、端口 (5173 vs 9100三者任一不同,均会被视为跨域。

    • 即使 localhost 和 127.0.0.1 指向同一台机器,浏览器仍会认为它们是不同源!

  • 触发条件
    浏览器会先发送一个 OPTIONS 预检请求(Preflight),如果后端没有返回正确的 CORS 响应头(如 Access-Control-Allow-Origin),请求会被拦截。

2. 如何解决?

方案 1:改用 Vite 代理(推荐)
  • 优势:前端代码只需写相对路径(如 /api/thing/list),由 Vite 代理转发到后端,规避跨域问题

  • 配置

    javascript

    复制

    下载

    // vite.config.js
    export default defineConfig({server: {proxy: {'/api': {target: 'http://127.0.0.1:9100', // 后端地址changeOrigin: true,rewrite: (path) => path.replace(/^\/api/, ''), // 可选:去掉 /api 前缀}}}
    });
  • 前端代码

    javascript

    复制

    下载

    // ✅ 会被代理到 http://127.0.0.1:9100/thing/list
    axios.get('/api/thing/list');
方案 2:后端配置 CORS(需修改后端代码)

如果必须直接请求 http://127.0.0.1:9100,后端需添加以下响应头:

java

复制

下载

// Spring Boot 示例
@Configuration
public class CorsConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("http://localhost:5173") // 允许的前端地址.allowedMethods("*").allowCredentials(true);}
}
方案 3:修改前端请求地址(临时方案)
  • 将 127.0.0.1 改为 localhost,确保域名一致:

    javascript

    复制

    下载

    // ✅ 如果后端和前端都用 localhost,可能避免跨域(但端口仍需一致)
    axios.get('http://localhost:9100/api/thing/list');
  • 局限性
    如果端口不同(如前端 5173,后端 9100),仍需代理或 CORS。

http://www.yayakq.cn/news/734705/

相关文章:

  • 如何制作一个网站h5深圳网络推广培训机构
  • 文档做网站手机制作logo神器
  • 优质网站策划做网站如何网站考虑优化
  • seo网站快排常熟住房和城乡建设局网站
  • 建立一个网站大约要多少钱滨州网站建设hskj360
  • 网站链接济南企业建站公司
  • 怎么做企业网站微信公众号怎么开通免费
  • 灯具公司网站模板网站备案主体黑名单
  • 做会所网站的企业做网站的好处
  • 做网站用什么数据库全国设计网站公司网站
  • 阿里巴巴外贸订单网站网站建设总体要求
  • 一般网站海报做一张多久新民电子网站建设哪家好
  • 建设项目环评验收网站网站首页被k多久恢复
  • 网站开发维护招聘wordpress:代码
  • 搭建个网站需要多少钱物流建设网站
  • 织梦可以放两个网站安陆网站制作公司
  • 六色网站网页页面设计叫什么
  • 打造对外宣传工作平台网站建设如何做更改网站的图片
  • php教育网站开发北京网站建设 地址海淀
  • 天猫交易网站官方网站建设实训心得
  • 哪个网站做欧洲旅行比较好手机网站免费空间
  • 实名网站审核中心广告设计主要学什么
  • wordpress怎么上传自己的网站重庆工程公司有哪些
  • 用dw做的网站百度文库怎么做网站排名
  • 宁波大型网站制作怎么自己制作游戏手机版
  • 网站开发过程的基本环节常州网站制作培训
  • 类似链家网站建设方案网站建设设计团队
  • 苏州手机网站建设公司深圳市龙华区住房和建设局网站
  • 迅睿cms建站开发一个网站的步骤
  • 重?c网站开发有没有做公司网站的