ajax实现前后端数据交互
1.在做项目的时候,或多或少都会用到ajax来实现前后端数据的交互,接下来我们就看一个简单的实例吧。
实例效果:
点击按钮,发送异步请求,请求后端的数据,显示在网页上。
接下来我们就来实现一下吧。
1.实体类:
TableData.java
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TableData {
private int id;
private String username;
private String sex;
private String city;
}
2.编写Controller,返回数据。
@RestController
@RequestMapping("/")
public class TableController {
@RequestMapping("table/user")
@ResponseBody
public List<TableData> tableData(){
List<TableData> list = new ArrayList<>();
TableData tableData1 = new TableData(1,"扎三年","12","北京");
TableData tableData2 = new TableData(2,"扎3年","13","北京");
TableData tableData3 = new TableData(3,"扎4年","17","北京");
TableData tableData4 = new TableData(4,"扎5年","18","北京");
list.add(tableData1);
list.add(tableData2);
list.add(tableData3);
list.add(tableData4);
return list;
}
3.前端使用ajax接收数据。这里我们导入Jquery.
前端index.jsp
<%@ page isELIgnored="false"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun/jsp/jstl/core" %>
<%@taglib prefix="f" uri="http://java.sun/jsp/jstl/fmt" %>
<html>
<head>
<title>首页</title>
</head>
<body>
<input type="button" id="btn" value="获取数据"/>
<table width="80%" align="center">
<tr>
<td>id</td>
<td>姓名</td>
<td>年龄</td>
<td>城市</td>
</tr>
<tbody id="content">
</tbody>
</table>
<script src="https://cdn.staticfile/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript">
$(function () {
$('#btn').click(function () {
$.post("table/user",function (data) {
console.log(data);
var html = "";
for(var i = 0; i <data.length;i++){
html += "<tr>" +
"<td>"+ data[i].id+"</td>"+
"<td>"+ data[i].username+"</td>"+
"<td>"+ data[i].sex+"</td>"+
"<td>"+ data[i].city+"</td>"
+"</tr>";
}
$('#content').html(html);
})
})
})
</script>
</body>
</html>
思路很简单,给按钮一个点击时间,去请求后端的Controller,这里的 $.post(“table/user” 就是Controller中对应的路径。然后将返回的数据,显示到网页上即可,
这就是Ajax
更多推荐
ajax实现前后端数据交互
发布评论