下列代码有什么问题<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>欢迎登录</title> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> <script> $(document).ready(function() { // 查询按钮点击事件 $("#search-btn").click(function() { // 获取用户输入的查询信息 var flightNum = $("#flight-num").val(); var date = $("#date").val(); // 发送请求给后端 $.ajax({ url: "/flightQuery", type: "GET", data: { "flightNum": flightNum, "date": date }, success: function(data) { // 将查询结果显示在中间框中 $("#result").html(data); } }); }); // 退出按钮点击事件 $("#logout-btn").click(function() { // 跳转到首页 window.location.href = "/"; }); }); </script> </head> <body> <h1>民航航班查询</h1> <div> <label>航班号:</label> <input type="text" id="flight-num"> <br> <label>日期:</label> <input type="date" id="date"> <br> <button href="user-login-form" id="search-btn">查询</button> </div> <hr> <div id="result">查询结果将显示在此处</div> <hr> <button id="logout-btn">退出</button> </body> </html>@PostMapping("/flightQuery") public String queryFlight(@RequestParam("flightNum") String flightNum, @RequestParam("date") String date) { FlightDO flightDO = adminService.query(flightNum,date); return flightDO.getCompany(); }
时间: 2024-02-05 07:04:47 浏览: 81
这段代码存在两个问题:
1. 接口的请求类型不一致:前端使用了 GET 请求,而后端的接口使用了 @PostMapping 注解,应该将其改为 @GetMapping 注解。
2. 接口返回的数据类型不匹配:后端的接口返回了一个 FlightDO 对象的 company 字段,但前端的 success 回调函数中只是简单地将返回的 data 数据赋给了中间框的 HTML,这样会导致页面显示的内容不是预期的字符串,而是一个对象的字符串表示形式。应该将后端的返回值改为一个字符串类型。
以下是修正后的代码示例:
```
@GetMapping("/flightQuery")
public String queryFlight(@RequestParam("flightNum") String flightNum,
@RequestParam("date") String date) {
FlightDO flightDO = adminService.query(flightNum, date);
return flightDO.getCompany();
}
```
这样修改后,前端的 success 回调函数中获取到的 data 就是一个字符串类型的公司名称,可以直接赋值给中间框的 HTML,从而正确地显示查询结果。
相关问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>boot-01首页</title> </head> <body> <h1>工程首页</h1> <!--相对路径--> <a href="bmi.html">BMI测试</a> <a href="/bmi.html">BMI测试</a> <!--绝对路径 http://localhost:8080/--> </body> </html>
这是一个简单的HTML页面,其中包含了两个链接。第一个链接是相对路径的示例,它指向名为"bmi.html"的文件。第二个链接是绝对路径的示例,它指向根目录下的"bmi.html"文件。
相对路径是相对于当前文件所在位置的路径,而绝对路径是从根目录开始的完整路径。在这个例子中,假设您正在访问的页面位于"http://localhost:8080/",那么第一个链接将指向"http://localhost:8080/bmi.html",而第二个链接将指向"http://localhost:8080/bmi.html"。
请注意,这只是一个静态HTML页面的示例,其中包含了两个简单的链接。在实际的应用程序中,链接可能会指向更复杂的页面或功能。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Error</title> </head> <body> <pre>Cannot POST /</pre> </body> </html>
<!DOCTYPE html>是一个HTML5文档的声明,它告诉浏览器这是一个使用标准通用标记语言(SGML)的文档,并且使用HTML5的规范。在给定的代码片段中,这位于HTML文档的开头,用于指示文档类型。
`<html lang="en">` 表示整个文档的语言是英语(en)。
`<head>` 部分包含了页面的元信息,如字符集 `<meta charset="utf-8">`,设置了文档的编码为UTF-8,这对于支持各种字符的网页非常重要。`<title>Error</title>` 定义了浏览器标签页上显示的标题,这里显示的是"Error"。
`<body>` 标签下的内容是用户看到的实际页面内容。在这个例子中,`<pre>Cannot POST /</pre>` 是一个预格式化文本块,通常用于显示代码或错误消息。"Cannot POST /" 显然是一个HTTP错误提示,表示尝试向服务器发送POST请求到"/"路径时发生了问题,可能是因为该URL无法处理POST请求或者是请求方法被服务器明确禁止。
阅读全文