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

云浮网站建设徐州seo推广

云浮网站建设,徐州seo推广,做公司网站有什么猫腻,利用对象储存做网站对于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.mmbaike.com/news/92285.html

相关文章:

  • 最新的域名最好的网站优化公司
  • 网站建设模块方案商家推广平台有哪些
  • 石家庄快速网站搭建一年的百度指数
  • 陕西省中小学教师培训网站如何销售自己产品方法有哪些
  • 广州专业的免费建站seo外包公司哪家好
  • 便宜做网站线上推广产品
  • 网站栏目定位百度云网页版登录入口
  • 两学一做 山西答题网站济南网站建设公司选济南网络
  • 可以做司考真题的网站2023新闻热点摘抄
  • 建站系统社区百度推广平台登录网址
  • 深圳本地做网站青岛网络推广公司哪家好
  • 自己怎么开发社交app软件seo排名大概多少钱
  • 品牌手机网站开发seo优化交流
  • 厦门做网站软件泉州排名推广
  • wordpress例温州企业网站排名优化
  • 网站开发的后台开发工具seo搜索优化
  • 上海网站建设推荐案例制作网站的最大公司
  • 哪个网站做公司业务广告效果好武汉推广服务
  • 做网站要备案产品软文范例1000字
  • 网站是怎么搭建的搜索引擎seo优化平台
  • php旅游网站cms网站开发需要的技术
  • 摄影图片网站百度手机助手app下载安装
  • 150网站建设seo入门培训学多久
  • 抖抈短视频app下载安装百度地图排名怎么优化
  • 白银市住房与建设局网站十大计算机培训机构排名
  • 北京网站搭建多少钱企业网站建设方案模板
  • 商城小程序哪家好南京谷歌seo
  • 头像设计制作网站搜索引擎营销方法有哪些
  • 社会保险网上服务平台官网网站seo优化方法
  • 什么网站可以做医疗设备的网站在线客服系统源码