下列代码有什么问题<!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 12:04:47 浏览: 29
这段代码存在两个问题:
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>Not found</title> </head> <body> <h1>Not found</h1> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Not found</title> </head> <body> <h1>Not found</h1> </body> </html>是一个HTML页面模板,它是一个简单的404页面,用于显示“Not found”错误信息。在这个模板中,<!DOCTYPE html>定义了文档类型,<html>标签定义了HTML文档的根元素,<head>标签定义了文档的头部部分,<meta charset="UTF-8">指定了文档的字符编码为UTF-8,<title>标签定义了文档的标题,<body>标签定义了文档的主体部分,<h1>标签定义了一个一级标题。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>王梦洁</title> </head> <body> </body> </html>为什么访问不到这个页面。报错404
根据提供的引用内容,<!DOCTYPE html>声明是HTML文档的一部分,它告诉浏览器使用哪个HTML版本来解析页面。在给定的示例中,<!DOCTYPE html>声明指定了HTML5版本。这个声明应该放在HTML文档的开头,作为第一行。
然而,<!DOCTYPE html>声明本身并不会导致404错误。404错误表示请求的页面不存在。要解决404错误,需要检查以下几个方面:
1. 确保文件路径正确:检查文件路径是否正确,包括文件名和文件所在的文件夹。确保文件存在于指定的位置。
2. 检查服务器配置:确保服务器正确配置,以便可以访问到指定的文件。检查服务器的根目录和文件权限。
3. 检查文件扩展名:确保文件的扩展名正确。在示例中,文件扩展名应该是.html。
4. 检查文件内容:确保文件内容正确,没有语法错误或其他问题。可以尝试在文件中添加一些简单的内容,例如一个段落或标题,然后重新访问页面。
如果以上步骤都正确无误,但仍然无法访问页面并出现404错误,可能是其他原因导致的问题,例如网络连接问题或服务器配置问题。需要进一步检查和排除其他可能性。