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

前端三件套+springboot后端连通尝试

本文承接自跨域请求问题浅解-CSDN博客

后端:

//主启动类
@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}
//控制类
@RestController
@RequestMapping("/greeting")
public class FirstController {@GetMapping("/data")public Map<String, String> greeting() {return Map.of("message", "Hello World of Spring Boot!");}
}

方式一:前后端同源

前端:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><button id="fetchData">确认</button><div id="content"></div><script>document.getElementById("fetchData").addEventListener("click", function() {fetch("/greeting/data").then(response => response.json()).then(data => {document.getElementById("content").innerHTML =`<p>从后端获得数据: ${data.message}</p>`;// if (data && data.message) {//     document.getElementById("content").innerHTML =//         `<p>从后端获得数据: ${data.message}</p>`;// } else {//     console.error("数据格式不正确:", data);// }})// .catch(error => {//     console.error("请求出错:", error);// })})</script>
</body>
</html>

方式二:使用LIve Server代理

前端:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><button id="fetchData">确认</button><div id="content"></div><script>document.getElementById("fetchData").addEventListener("click", function() {fetch("http://localhost:8080/greeting/data").then(response => response.json()).then(data => {document.getElementById("content").innerHTML =`<p>从后端获得数据: ${data.message}</p>`;// if (data && data.message) {//     document.getElementById("content").innerHTML =//         `<p>从后端获得数据: ${data.message}</p>`;// } else {//     console.error("数据格式不正确:", data);// }})// .catch(error => {//     console.error("请求出错:", error);// })})</script>
</body>
</html>

后端配置 CORS,将其添加到主启动类同一目录下

@Configuration
public class CorsConfig {@Beanpublic WebMvcConfigurer corsConfigurer() {return new WebMvcConfigurer() {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("http://127.0.0.1:5500").allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS").allowedHeaders("*").allowCredentials(true);}};}
}

http://www.xdnf.cn/news/20282.html

相关文章:

  • 系统学习算法 专题十八 队列+宽搜
  • Doris 数据仓库例子
  • OpenCV C++ 色彩空间详解:转换、应用与 LUT 技术
  • 一文详解深度学习中神经网络的各层结构与功能!
  • SQL-DML
  • 计算机网络4 第四章 网络层——网络间的通信问题(省际之间如何规划信件运输路线)
  • 酒店实习生转正信息调整编程实现(Python字典应用基础题)
  • 【yolo】YOLOv8 训练模型参数与多机环境差异总结
  • Kafka面试精讲 Day 8:日志清理与数据保留策略
  • Grafana 导入仪表盘失败:从日志排查到解决 max\_allowed\_packet 问题
  • 汽车软件研发智能化:AI在CI/CD中的实践
  • 实践指南:利用衡石AI Data Agent实现自然语言驱动的指标开发与归因
  • 【最新版】发烧级完美解码播放器PureCodec v2025.08.29 中文免费版_电脑播放器影音解码包
  • 基于51单片机WIFI智能家居系统设计
  • 相机刮除拜尔阵列
  • 使用海康机器人相机SDK实现基本参数配置(C语言示例)
  • Linux查看相机支持帧率和格式
  • Linux系统安全加固:构建云计算安全的第一道防线
  • 迁移学习-ResNet
  • VBA 中使用 ADODB 操作 SQLite 插入中文乱码问题
  • JVM新生代和老生代比例如何设置?
  • Vue 3 项目中引入 Iconify
  • Spring Boot 和 Spring Cloud: 区别与联系
  • Oracle到ClickHouse:异构数据库ETL的坑与解法
  • HTML 各种事件的使用说明书
  • Spring Boot AOP:优雅解耦业务与非业务逻辑的利器
  • 如何将 Android 设备的系统底层日志(如内核日志、系统服务日志等)拷贝到 Windows 本地
  • WeaveFox AI智能开发平台介绍
  • Docker部署Drawnix开源白板工具
  • 【RelayMQ】基于 Java 实现轻量级消息队列(六)