json在前端与Java后端的数据交互

本文展示了一个使用SpringBoot构建的Java后端应用,通过RESTfulAPI提供数据,与一个简单的HTML前端进行交互,使用XMLHttpRequest发送GET请求获取数据并在页面上显示。
摘要由CSDN通过智能技术生成

下是一个简单的示例,包括了一个使用Spring Boot框架的Java后端应用和一个简单的HTML网页前端,演示了如何通过HTTP请求和响应进行数据交换。在这个示例中,我们将使用HTTP GET请求从Java后端获取数据,并在网页前端显示返回的数据。

Java后端代码(使用Spring Boot框架):

 
// DataController.java
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DataController {

    @GetMapping("/api/data")
    public ResponseEntity<String> getData() {
        String jsonData = "{\"name\": \"Alice\", \"age\": 25}";
        return ResponseEntity.ok(jsonData);
    }
}
 

// Application.java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

网页前端代码(使用HTML和JavaScript):

 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Data Exchange Example</title>
</head>
<body>
    <div id="dataDisplay"></div>

    <script>
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function() {
            if (xhr.readyState === XMLHttpRequest.DONE) {
                if (xhr.status === 200) {
                    var data = JSON.parse(xhr.responseText);
                    document.getElementById('dataDisplay').innerText = 'Name: ' + data.name + ', Age: ' + data.age;
                }
            }
        };
        xhr.open('GET', '/api/data');
        xhr.send();
    </script>
</body>
</html>
var xhr = new XMLHttpRequest(); // 创建一个新的XMLHttpRequest对象
xhr.onreadystatechange = function() { // 当XMLHttpRequest对象的状态发生改变时触发的事件处理函数
    if (xhr.readyState === XMLHttpRequest.DONE) { // 检查XMLHttpRequest对象的状态是否为DONE(即4),表示请求已完成
        if (xhr.status === 200) { // 检查响应的状态码是否为200,表示请求成功
            var data = JSON.parse(xhr.responseText); // 将从后端获取的JSON格式数据解析为JavaScript对象
            document.getElementById('dataDisplay').innerText = 'Name: ' + data.name + ', Age: ' + data.age; // 将返回的数据显示在id为"dataDisplay"的div元素中
        }
    }
};
xhr.open('GET', '/api/data'); // 使用HTTP GET方法打开一个到"/api/data"的URL的新请求
xhr.send(); // 发送HTTP请求

代码注释:

在这段代码中,我们首先创建了一个新的XMLHttpRequest对象,然后为其设置了一个onreadystatechange事件处理函数。当XMLHttpRequest对象的状态发生改变时,这个事件处理函数会被触发。在事件处理函数内部,我们首先检查XMLHttpRequest对象的状态是否为DONE(即4),表示请求已完成,然后再检查响应的状态码是否为200,表示请求成功。如果请求成功,我们将从后端获取的JSON格式数据解析为JavaScript对象,并将其显示在id为"dataDisplay"的div元素中。

这段代码实现了通过JavaScript向后端发送HTTP GET请求,获取数据并在页面上显示返回的数据的功能。

在这个示例中,我们创建了一个名为DataController的类来提供API接口,其中包含一个名为"/api/data"的接口,通过HTTP GET请求获取数据。在网页前端的HTML文件中,我们使用JavaScript发起了一个AJAX请求来获取数据,并在页面上显示返回的数据。

希望这个完整的前后端代码示例能够帮助您更好地理解Java后端与网页前端通过HTTP请求和响应进行数据交换的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tin9898

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值