javaweb创建Maven项目,使用SpringBoot框架完成 编写index.jsp页面,在javascript中,使用ajax+get方式(ajax.js中的get方法),请求地址/get_menus,获取数据库所有菜品的数据,并动态展示到页面 , 选中要投票的菜品后,单击“提交投票”,使用ajax+post方式提交,请求地址/vote(ajax.js中的post方法),局部更新菜品的票数(票数增加1票)
时间: 2023-12-03 17:03:08 浏览: 94
SSM(Spring+mybatis+Springmvc)+maven+Ajax实现分页功能
5星 · 资源好评率100%
好的,这里是一个简单的示例代码,供您参考:
index.jsp页面代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>菜品投票</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="/js/ajax.js"></script>
</head>
<body>
<h1>菜品投票</h1>
<div id="menuList"></div>
<button onclick="submitVote()">提交投票</button>
<script>
$(document).ready(function(){
getMenus();
});
function getMenus(){
$.ajax({
url: "/get_menus",
type: "GET",
success: function(data){
var menuList = $("#menuList");
menuList.empty();
for(var i=0; i<data.length; i++){
var menu = data[i];
var html = "<div><input type='checkbox' name='menu' value='" + menu.id + "'>" + menu.name + "</div>";
menuList.append(html);
}
},
error: function(jqXHR, textStatus, errorThrown){
alert("获取菜品数据失败!");
}
});
}
function submitVote(){
var selectedMenus = [];
$("input[name='menu']:checked").each(function(){
selectedMenus.push($(this).val());
});
if(selectedMenus.length > 0){
$.ajax({
url: "/vote",
type: "POST",
data: JSON.stringify(selectedMenus),
contentType: "application/json; charset=utf-8",
success: function(data){
alert("投票成功!");
getMenus();
},
error: function(jqXHR, textStatus, errorThrown){
alert("投票失败!");
}
});
}
else{
alert("请选择要投票的菜品!");
}
}
</script>
</body>
</html>
```
ajax.js代码:
```javascript
function get(url, successCallback, errorCallback){
$.ajax({
url: url,
type: "GET",
success: function(data){
successCallback(data);
},
error: function(jqXHR, textStatus, errorThrown){
errorCallback(jqXHR, textStatus, errorThrown);
}
});
}
function post(url, data, successCallback, errorCallback){
$.ajax({
url: url,
type: "POST",
data: data,
contentType: "application/json; charset=utf-8",
success: function(data){
successCallback(data);
},
error: function(jqXHR, textStatus, errorThrown){
errorCallback(jqXHR, textStatus, errorThrown);
}
});
}
```
后台Controller代码:
```java
@RestController
public class MenuController {
@Autowired
private MenuService menuService;
@GetMapping("/get_menus")
public List<Menu> getMenus(){
return menuService.getAllMenus();
}
@PostMapping("/vote")
public void vote(@RequestBody List<Long> menuIds){
menuService.vote(menuIds);
}
}
```
注意:这里的代码只是一个简单示例,具体的实现还需要按照您的具体需求进行调整。同时,还需要确保前端页面中引入了jquery.js和ajax.js文件,并且后台的MenuService中实现了相应的方法。
阅读全文