React与后端交互的一种方式

本文介绍了一种前后端分离项目的联调方法。前端通过ajax等方式向后端发送请求,而后端通过配置中心获取前端资源路径,并在jsp页面引入前端打包后的js和css文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上周工作中需要将一个react前端项目与spring的后端项目进行联调,但之前从未单独做过这种前后端分离的系统,虽然对react用法进行了基本学习,但开始始终没搞明白这种形式的系统前后端是如何交互的。

后查看了公司其他系统的代码,发现一种可行的交互形式,特写此文以记之。

前端向后端发请求,则和其他场景下的前后端交互一样,使用ajax或相应方式向对应的url发送请求即可。

而后端向前端的response则是当时困扰我的一个问题,当时始终没搞清楚,spring的controller是以何种方式返回到react前端项目的。

我看到的一个其他系统中,是在后端spring项目中写一个jsp,在其中引入react项目打包后生成的js和css文件。此系统在打开首页的后端逻辑中,通过公司的配置中心中间件,获取到react发布打包后生成的js和css文件,此时通过正确的url,就能在浏览器成功打开首页了。

index.jsp代码如下,appWapper是react前端首页id,其中删除了部分公司敏感的资源信息:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<%@ page isELIgnored="false" %>
<!DOCTYPE html>

<html lang="en">
<head>
    <title>Beacon</title>
    <meta charset="UTF-8">
    <meta HTTP-EQUIV="pragma" CONTENT="no-cache">
    <meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
    <meta HTTP-EQUIV="expires" CONTENT="0">
    <title>Demeter</title>

    <c:forEach var="css" items="${css_files}">
        <link rel="stylesheet" href="${css}">
    </c:forEach>

</head>
<body class="custom-theme">
<div id="appWrapper"></div>
<script>
    window.hostUrl='';
</script>

<c:forEach var="js" items="${js_files}">
    <script src="${js}"></script>
</c:forEach>

</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值