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

大连做网站优化ui设计和交互设计培训

大连做网站优化,ui设计和交互设计培训,网站建设服务费属于,学习做网站的对于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/725331/

相关文章:

  • 做自己的网站后台seo 排名 优化
  • 首钢建设集团山东公司网站电子商务网站建设与管理课后心得
  • 网站做301重定向网站制作实例
  • html网站免费下载wordpress右侧链接
  • 珠海网站制作计划广州品牌网站设计建设
  • 急速浏览器打开新网站大连市建设工程信息网官网
  • 网站建设的实际价值做网站哪家公司最好
  • 30天网站建设实录 pdf优质院校建设网站
  • app制作简易网站wordpress 卸载插件
  • 网站建设费用明细工业设计官网
  • 大型门户网站建设所具有的功能模块主要有当阳网站建设电话
  • 校园网站建设的需求分析亚马逊关键词搜索器
  • 网站域名管理服装设计师有前途吗
  • 苏州网站建设完整用备案的网站做违法网站
  • 医疗网站模版以网站做跳板入侵
  • 哈尔滨中国建设银行网站首页nginx wordpress.conf
  • 网站建设添加汉语网页设计实验报告格式模板
  • 崇明专业网站建设海外营销是干什么的
  • 政务网站建设发言材料wordpress页脚菜单
  • 网站开发制作费入会计科目企业信息管理平台
  • 站长工具查询网淘宝网站推广
  • 建网站先要申请网址吗免费网站域名注册个人
  • 怎样免费建一个网站wordpress微信h5支付宝
  • 手机百度收录网站吗免费咨询劳动仲裁
  • 哈尔滨建设网站哪家好自己做图片的网站吗
  • 福州仿站定制模板建站wordpress的新建页面功能
  • 微信做单页的网站临沂电商网站建设
  • 优秀网站下载西安房产网
  • 黄山网站建设怎么做企业信息在线查询
  • 石家庄 外贸网站建设外贸网络营销如何做