Ajax layui动态表格增删改查
时间: 2023-06-29 07:12:23 浏览: 29
好的,下面是使用 Ajax 和 layui 实现动态表格增删改查的一个简单示例。
1. 引入 layui
首先需要在页面中引入 layui 的相关文件,例如:
```html
<link rel="stylesheet" href="//cdn.layui.com/layui-v2.5.6/css/layui.css">
<script src="//cdn.layui.com/layui-v2.5.6/layui.js"></script>
```
2. 表格的展示
接下来需要将表格展示在页面上,可以使用 layui 的 table 组件来创建表格。为了方便后续操作,可以给每一行的 tr 标签添加一个唯一的 id,例如:
```html
<table id="table" lay-filter="table"></table>
```
```javascript
// 渲染表格
layui.use('table', function () {
var table = layui.table;
table.render({
elem: '#table',
url: 'list.php',
cols: [[
{field: 'id', title: 'ID'},
{field: 'name', title: '姓名'},
{field: 'age', title: '年龄'},
{fixed: 'right', title: '操作', toolbar: '#toolbar', width: 150}
]]
});
// 监听工具条按钮点击事件
table.on('tool(table)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
// 编辑操作
editData(data);
} else if (obj.event === 'delete') {
// 删除操作
deleteData(data);
}
});
});
// 显示编辑模态框
function editData(data) {
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
type: 1,
title: '编辑数据',
area: ['500px', '300px'],
content: $('#edit-form'),
success: function () {
// 将数据填充到编辑表单中
$('#edit-form input[name="id"]').val(data.id);
$('#edit-form input[name="name"]').val(data.name);
$('#edit-form input[name="age"]').val(data.age);
}
});
});
}
// 删除操作
function deleteData(data) {
layui.use('layer', function () {
var layer = layui.layer;
layer.confirm('确定删除该行数据吗?', function (index) {
var url = 'delete.php?id=' + data.id;
$.ajax({
type: 'GET',
url: url,
success: function (response) {
layer.close(index);
layui.table.reload('table');
},
error: function () {
alert('删除数据失败');
}
});
});
});
}
```
3. 添加操作
当用户点击添加按钮时,需要显示一个模态框,让用户输入新数据。可以使用 layui 的 layer 组件来创建模态框,使用 jQuery 的 ajax() 方法来发送请求,将新数据添加到后端数据库中。例如:
```html
<script type="text/html" id="toolbar">
<button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
</script>
<div id="add-form" style="display: none;">
<form class="layui-form" lay-filter="add-form">
<div class="layui-form-item">
<label class="layui-form-label">姓名</label>
<div class="layui-input-block">
<input type="text" name="name" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">年龄</label>
<div class="layui-input-block">
<input type="text" name="age" class="layui-input">
</div>
</div>
</form>
</div>
<script>
// 添加操作
layui.use(['layer', 'form'], function () {
var layer = layui.layer;
var form = layui.form;
layui.table.on('toolbar(table)', function (obj) {
if (obj.event === 'add') {
layer.open({
type: 1,
title: '添加数据',
area: ['500px', '300px'],
content: $('#add-form'),
success: function () {
// 清空表单数据
$('#add-form input[name="name"]').val('');
$('#add-form input[name="age"]').val('');
}
});
}
});
form.on('submit(add-form)', function (data) {
$.ajax({
type: 'POST',
url: 'add.php',
data: data.field,
success: function (response) {
layer.closeAll();
layui.table.reload('table');
},
error: function () {
alert('添加数据失败');
}
});
return false;
});
});
</script>
```
4. 编辑操作
当用户点击编辑按钮时,需要将该行的数据加载到编辑模态框中,让用户进行修改。可以使用 layui 的 layer 组件来创建模态框,使用 jQuery 的 ajax() 方法来发送请求,更新后端数据库中的数据。例如:
```html
<div id="edit-form" style="display: none;">
<form class="layui-form" lay-filter="edit-form">
<div class="
相关推荐









好的,以下是一个简单的示例代码,用于实现表格增删改查的功能,使用 jQuery 和 AJAX 技术:
HTML 代码:
ID
Name
Age
Actions
<form id="addForm">
<input type="text" name="name" placeholder="Name">
<input type="number" name="age" placeholder="Age">
<button type="submit">Add</button>
</form>
<form id="editForm">
<input type="hidden" name="id">
<input type="text" name="name" placeholder="Name">
<input type="number" name="age" placeholder="Age">
<button type="submit">Update</button>
</form>
jQuery 代码:
// 显示所有数据
function showData() {
$.ajax({
url: 'api.php', // 后端接口地址
type: 'GET',
dataType: 'json',
success: function(data) {
var tbody = $('#myTable tbody');
tbody.empty(); // 先清空表格数据
$.each(data, function(index, item) {
var tr = $('').appendTo(tbody);
$('').text(item.id).appendTo(tr);
$(' ').text(item.name).appendTo(tr);
$(' ').text(item.age).appendTo(tr);
var td = $(' ').appendTo(tr);
$('<button>').text('Edit').on('click', function() {
// 点击 Edit 按钮时,显示编辑表单
$('#editForm [name=id]').val(item.id);
$('#editForm [name=name]').val(item.name);
$('#editForm [name=age]').val(item.age);
}).appendTo(td);
$('<button>').text('Delete').on('click', function() {
// 点击 Delete 按钮时,删除该行数据
$.ajax({
url: 'api.php?id=' + item.id,
type: 'DELETE',
success: function() {
showData(); // 数据删除成功后,重新显示所有数据
}
});
}).appendTo(td);
});
}
});
}
// 添加数据
$('#addForm').on('submit', function(event) {
event.preventDefault(); // 阻止表单提交
$.ajax({
url: 'api.php',
type: 'POST',
data: $(this).serialize(),
success: function() {
// 数据添加成功后,清空表单并重新显示所有数据
$('#addForm')[0].reset();
showData();
}
});
});
// 更新数据
$('#editForm').on('submit', function(event) {
event.preventDefault(); // 阻止表单提交
$.ajax({
url: 'api.php',
type: 'PUT',
data: $(this).serialize(),
success: function() {
// 数据更新成功后,清空表单并重新显示所有数据
$('#editForm')[0].reset();
showData();
}
});
});
// 页面加载完成后,显示所有数据
$(document).ready(function() {
showData();
});
以上代码中,我们使用了一个名为 api.php 的后端接口,用于处理增删改查的请求。你需要根据实际情况自行编写这个接口。

### 回答1:
Spring Boot 是一个快速开发框架,可以轻松地实现增删改查操作。而 AJAX 是一种异步的 Web 技术,可以在不刷新页面的情况下向服务器发送请求和接收响应。结合 Spring Boot 和 AJAX,可以实现前后端分离的开发模式,提高开发效率和用户体验。
在 Spring Boot 中,可以使用 Spring Data JPA 来实现数据库操作,同时使用 Thymeleaf 模板引擎来渲染页面。而在前端,可以使用 jQuery 或者 Vue.js 等框架来实现 AJAX 请求和响应。
具体实现步骤如下:
1. 创建实体类和数据库表,使用 Spring Data JPA 来实现增删改查操作。
2. 创建控制器类,使用 @RestController 注解来标识该类为 RESTful API,同时使用 @RequestMapping 注解来指定请求路径和请求方法。
3. 在控制器类中定义增删改查的方法,使用 @GetMapping、@PostMapping、@PutMapping 和 @DeleteMapping 注解来指定请求方法和请求路径。
4. 在前端页面中使用 AJAX 发送请求,使用 jQuery 或者 Vue.js 等框架来实现 AJAX 请求和响应。
5. 在前端页面中使用 Thymeleaf 模板引擎来渲染页面,使用 th:each 指令来遍历数据列表,使用 th:if 指令来判断数据是否存在。
通过以上步骤,就可以实现 Spring Boot AJAX 增删改查操作。
### 回答2:
Spring Boot是一款非常流行的Java Web框架,其主打快速搭建和开发的特点。Ajax是一项实现页面局部刷新的技术,使得Web应用能够无刷新地交互。在Spring Boot中,我们可以使用Ajax实现增删改查的操作。下面详细介绍如何实现。
一、环境准备
首先,我们需要搭建Spring Boot的环境。具体操作可以参考Spring Boot官方文档。其中,需要使用到的依赖有Spring Web、Spring Data JPA和Thymeleaf等。
二、创建实体类和Repository
接下来,我们需要创建一个实体类,以便进行数据库的操作。同时,还需要创建一个Repository,用于实现具体的增删改查操作。以下是示例代码:
//实体类
@Entity
@Table(name = "user")
public class User {
@Id
private Long id;
private String name;
private Integer age;
private String gender;
private String email;
//省略setter和getter方法
}
//Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
三、页面设计与Ajax编写
接下来,我们需要设计一个页面,用于实现数据的展示和操作。其中,需要使用到Ajax技术,以实现页面的无刷新交互。具体代码如下:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Spring Boot Ajax增删改查</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
Spring Boot Ajax增删改查
ID
姓名
年龄
性别
邮箱
操作
删除
编辑
<form id="userForm">
<input type="hidden" id="id" name="id" />
<label>姓名:</label>
<input type="text" id="name" name="name" />
<label>年龄:</label>
<input type="text" id="age" name="age" />
<label>性别:</label>
<select id="gender" name="gender">
<option value="男">男</option>
<option value="女">女</option>
</select>
<label>邮箱:</label>
<input type="text" id="email" name="email" />
<button type="submit" id="submit">保存</button>
<button type="button" id="reset">重置</button>
</form>
<script type="text/javascript">
$(document).ready(function() {
//删除用户信息
$("body").on("click", ".delete", function() {
if(confirm("确定要删除该用户吗?")) {
var id = $(this).data("id");
$.ajax({
url: "/user/delete/" + id,
type: "post",
dataType: "json",
success: function(result) {
if(result.code == 200) {
alert("用户删除成功!");
location.reload();
}else {
alert("用户删除失败!");
}
},
error: function() {
alert("系统异常,请稍后重试!");
}
});
}
});
//编辑用户信息
$("body").on("click", ".update", function() {
var id = $(this).data("id");
var name = $(this).data("name");
var age = $(this).data("age");
var gender = $(this).data("gender");
var email = $(this).data("email");
$("#id").val(id);
$("#name").val(name);
$("#age").val(age);
$("#gender").val(gender);
$("#email").val(email);
});
//保存用户信息
$("#submit").click(function() {
var url = $("#id").val() == "" ? "/user/save" : "/user/update";
$.ajax({
url: url,
type: "post",
data: $("#userForm").serialize(),
dataType: "json",
success: function(result) {
if(result.code == 200) {
alert("用户保存成功!");
location.reload();
}else {
alert("用户保存失败!");
}
},
error: function() {
alert("系统异常,请稍后重试!");
}
});
});
//重置用户信息
$("#reset").click(function() {
$("#id").val("");
$("#name").val("");
$("#age").val("");
$("#gender").val("");
$("#email").val("");
});
});
</script>
</body>
</html>
四、编写Controller
最后,我们需要编写一个Controller,将页面与数据操作进行连接。以下是示例代码:
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserRepository userRepository;
//查询所有用户信息
@GetMapping("/list")
public String list(Model model) {
List<User> users = userRepository.findAll();
model.addAttribute("users", users);
return "user/list";
}
//保存用户信息
@PostMapping("/save")
@ResponseBody
public JsonResult save(User user) {
userRepository.save(user);
return JsonResult.success();
}
//更新用户信息
@PostMapping("/update")
@ResponseBody
public JsonResult update(User user) {
userRepository.save(user);
return JsonResult.success();
}
//删除用户信息
@PostMapping("/delete/{id}")
@ResponseBody
public JsonResult delete(@PathVariable Long id) {
userRepository.deleteById(id);
return JsonResult.success();
}
}
综上所述,以上就是Spring Boot Ajax增删改查的实现过程。通过使用Ajax技术,可以实现页面的无刷新交互。同时,也可以借助Thymeleaf来实现页面与Controller之间的数据交换。
### 回答3:
Spring Boot是一种用于构建企业级应用程序的框架,其基于Spring框架并使用各种Spring模块,使得构建Web应用程序更加简单和快速。同时,Ajax是一种常用技术,可以通过异步请求和更新局部页面数据实现客户端与服务器之间的实时交互。本文将介绍如何使用Spring Boot和Ajax实现增删改查功能。
首先,我们需要创建一个Spring Boot项目。可以使用Spring Initializr工具快速创建一个基础的项目骨架。这里我们使用MySQL作为数据库,所以需要配置相关依赖。
1. 添加依赖
在pom.xml文件中添加相关依赖,包括Spring Web、Spring Data JPA、MySQL Driver和Jackson DataBind.
2. 创建实体类
创建一个实体类,用于映射数据库表。注意要使用注解来指定实体类与数据库表的对应关系,以及字段与列的映射关系。
3. 创建数据访问层(DAO)
使用Spring Data JPA来访问数据库。创建一个接口,继承JpaRepository接口并指定泛型为实体类和主键类型。
4. 创建服务层(Service)
创建服务层接口,并实现对应的增删改查操作。可以使用分页查询功能,将查询结果分页显示。
5. 创建控制层(Controller)
创建控制层接口,调用服务层接口,实现数据的增删改查操作。使用@GetMapping、@PostMapping等注解来处理GET、POST请求。
6. 创建页面
创建一个HTML页面,使用Bootstrap、jQuery和Ajax等技术来实现客户端和服务器之间的实时交互。当用户在客户端上操作时,利用Ajax将数据发送到服务器,然后服务端可以对请求进行处理,返回相应结果。
创建一个HTML页面,添加Bootstrap库和jQuery库的链接。在页面上创建一个表格,包含要显示的数据。在页面上添加一个表单,允许用户添加、编辑和删除数据。可以使用Ajax来处理用户的请求。
在Ajax中,可以使用$.ajax()函数来实现请求。可以指定URL、请求方法、请求参数、请求头、数据类型等。在调用成功后,使用回调函数处理响应结果,包括更新UI,显示错误信息等。
以上就是使用Spring Boot和Ajax实现增删改查功能的流程。需要注意的是,本文只是一个基础示例,实际应用中还需要考虑安全性、性能优化、错误处理等方面。





