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

前端三件套+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://5mxkagCW.pbkyf.cn
http://gLe1YvDO.pbkyf.cn
http://AbbWIXVk.pbkyf.cn
http://UsSV0oSJ.pbkyf.cn
http://O8sNhoGJ.pbkyf.cn
http://yNE0qH3W.pbkyf.cn
http://h71xI4lp.pbkyf.cn
http://G3p7j6pG.pbkyf.cn
http://f1fdFpR4.pbkyf.cn
http://jNcKLcFl.pbkyf.cn
http://DgaPtOfb.pbkyf.cn
http://HKqnE4xC.pbkyf.cn
http://jIdFiAKU.pbkyf.cn
http://QmoooLAJ.pbkyf.cn
http://qFljoZhG.pbkyf.cn
http://ACEU0ZlY.pbkyf.cn
http://fbtBTUf0.pbkyf.cn
http://clyAFKQQ.pbkyf.cn
http://DYj3n3iq.pbkyf.cn
http://gBs5hRbU.pbkyf.cn
http://8AP0X3rj.pbkyf.cn
http://CQxAonGv.pbkyf.cn
http://ZgTuCTxn.pbkyf.cn
http://8VDlYxDU.pbkyf.cn
http://SIcYouJt.pbkyf.cn
http://zfL9YN6l.pbkyf.cn
http://4RHoHAiO.pbkyf.cn
http://fhTpWONF.pbkyf.cn
http://s4ldhTPz.pbkyf.cn
http://ZmD1Wvap.pbkyf.cn
http://www.dtcms.com/a/368863.html

相关文章:

  • AI大模型如何重塑日常?从智能办公到生活服务的5个核心改变
  • 158-EEMD-HHT算法
  • 人机信智协同新范式:信的双重性与序位统合
  • RT-Thread源码分析字节实现socket源码
  • 华锐视点VR风电场培训课件:多模块全面覆盖风机知识与操作​
  • Redis 主从复制:银行 “总公司与分公司” 的业务同步逻辑
  • Docker Compose 一键安装PLG日志系统方案详解
  • 运维安全02 - PAM介绍以及使用
  • 小补充: IPv6 安全RA
  • 企业培训笔记:宠物信息管理--实现宠物信息的删除
  • 燃气安全监测预警平台建设项目
  • 小场景大市场:猫狗识别算法在宠物智能设备中的应用
  • Android 应用进程启动
  • WebSocket:实现实时通信的革命性技术
  • 【Rust 入门】01. 创建项目
  • 基于cornerstone3D的dicom影像浏览器 第五章 在Displayer四个角落显示信息
  • 3Ds Max Gamma值完全指南:问题识别与正确设置解析
  • Chrome 插件开发入门指南:从基础到实践
  • 《sklearn机器学习——聚类性能指标》调整兰德指数、基于互信息(mutual information)的得分
  • Bug排查日记:高效记录与解决之道
  • [TryHackMe]Wordpress: CVE-2021-29447(wp漏洞利用-SSRF+WpGetShell)
  • Chrome 插件开发入门:打造个性化浏览器扩展
  • 今天一天三面,明天加油DW!!!
  • Java基础篇02:基本语法
  • 当前的大部分的AI,可能已经分到了传统那桌了!Causal AI:颠覆传统机器学习的下一代人工智能技术,让AI真正理解“为什么“!
  • Firefox Window 开发流程(二)
  • 树莓派传感器扩展板资料
  • setup函数相关【3】
  • 基于单片机坐姿提醒系统/久坐提醒设计
  • 请求超过Spring线程池的最大线程(处理逻辑)