如何在列表中设置$.ajax数据<;实体>;来自控制器&x27;什么是模型图?
我想实现一个简单的购物车功能,用户可以看到他们添加到购物车中的商品,当用户点击buy按钮时,他可以购买购物车中的所有商品 @控制器如何在列表中设置$.ajax数据<;实体>;来自控制器&x27;什么是模型图?,ajax,list,spring-mvc,Ajax,List,Spring Mvc,我想实现一个简单的购物车功能,用户可以看到他们添加到购物车中的商品,当用户点击buy按钮时,他可以购买购物车中的所有商品 @控制器 @RequestMapping(value = "/shoppingcart",method = RequestMethod.GET) public String shoppingCart(ModelMap model) { //get goods info of the user's shopping cart List<ShoppingCa
@RequestMapping(value = "/shoppingcart",method = RequestMethod.GET)
public String shoppingCart(ModelMap model) {
//get goods info of the user's shopping cart
List<ShoppingCartInfo> shoppingCartInfos = shoppingService.findShoppingCardInfoByUserId(getCurrentUserId());
model.put("shoppingCartInfos",shoppingCartInfos);
return "shoppingcart.jsp";
}
@RequestMapping(value=“/shoppingcart”,method=RequestMethod.GET)
公共字符串购物车(ModelMap模型){
//获取用户购物车的商品信息
List shoppingCartInfos=shoppingService.findShoppingCardInfoByUserId(getCurrentUserId());
模型.put(“shoppingCartInfos”,shoppingCartInfos);
返回“shoppingcart.jsp”;
}
JSP
编号
商品标题
价格
购买数量
//显示商品信息
${count.index+1}
${shoppingCartInfo.cost}
${shoppingCartInfo.itemNum}
addData(${shoppingCartInfo})
阿贾克斯
$(“#shoppingCartTable”).DataTable({
“语言”:{
“url:“${AppContext}resources/lang/datatables_zhcn.json”
},
“pagingType”:“完整编号”
})
$('buyAllItemsBtn')。单击(函数(){
$.ajax({
类型:“POST”,
url:“${AppContext}买方/买方项目”,
/*传统的:是的*/
数据:${shoppingCartInfos},//**错误在这里**
成功:功能(结果){
如果(result.resultStatus==“成功”){
}否则{
showModal(“购买失败",结果:resultMsg,“”;
}
}
})
})
错误:
我的问题是:
(1) 数据:${shoppingCartInfos}我想将数据发送到${AppContext}买方/买方项目,但没有成功
(2) ${shoppingCartInfos}值为[ShoppingCartInfo{shoppingcartId=4,userId=22,itemId=10}],对象具有列表对象类名,我可以删除它吗
我不熟悉这些知识,谢谢您的帮助看看JSON stringify。这可能是您需要的:
看看JSON stringify。它可能是您所需要的:
这是我的错。我重写了ShoppingCartInfo类的toString()方法
删除ShoppingCartInfo是可以的这是我的错。我重写了ShoppingCartInfo类的toString()方法
删除ShoppingCartInfo是正常的仍然有一个错误:未捕获的语法错误:意外的标记{data:JSON.stringify({shoppingCartInfos:[ShoppingCartInfo{ShoppingCartInfo{4,userId=22,itemId=10]}),它不是像[{},{},{},{}这样的标准格式,因为列表中有“ShoppingCartInfo“类名,我认为错误是由此引起的还有一个错误:未捕获的语法错误:意外的标记{data:JSON.stringify({shoppingCartInfos:[shoppingCartInfos{ShoppingCartInfo{4,userId=22,itemId=10]}),它不是像[{},{},{},{}这样的标准格式,因为列表中有“ShoppingCartInfo”类名,我认为错误是由此引起的
<body>
<%@include file="common/navbar.jsp"%>
<div class="container">
<table id="shoppingCartTable" class="table table-striped table-hover results ellipsis-table">
<thead>
<tr>
<th>编号</th>
<th>商品标题</th>
<th>价格</th>
<th>购买数量</th>
</tr>
</thead>
<tbody>
//show goods info
<c:forEach var="shoppingCartInfo" items="${shoppingCartInfos}" varStatus="count">
<tr>
<td >${count.index + 1}</td>
<td><a href="${AppContext}item/showItem/${shoppingCartInfo.itemId}">${shoppingCartInfo.itemTitle}</a></td>
<td>${shoppingCartInfo.cost}</td>
<td>${shoppingCartInfo.itemNum}</td>
</tr>
addData(${shoppingCartInfo})
</c:forEach>
</tbody>
</table>
<div class="col-md-offset-10" style="margin-top: 20px">
<a href="javascript:void(0)" class="btn btn-raised btn-primary" id="buyAllItemsBtn">购买</a>
<a href="javascript:history.back(-1);" class="btn btn-raised btn-primary">退出</a>
</div>
</div>
<%@include file="common/footer.jsp"%>
<script type="text/javascript">
$('#shoppingCartTable').DataTable({
"language": {
"url": "${AppContext}resources/lang/datatables_zhcn.json"
},
"pagingType": "full_numbers"
})
$('#buyAllItemsBtn').click(function () {
$.ajax({
type:"POST",
url:"${AppContext}buyer/buyAllItems",
/*traditional: true,*/
data:${shoppingCartInfos},// **the error is here**
success:function (result) {
if(result.resultStatus == "SUCCESS") {
}else {
showModal("购买失败",result.resultMsg,"");
}
}
})
})
var data = JSON.stringify({
infos: ${shoppingCartInfos}
});
$.ajax({
type:"POST",
url:"${AppContext}buyer/buyAllItems",
data:data,
@Override
public String toString() {
return "ShoppingCartInfo{" +
"shoppingcartId=" + shoppingcartId +
", userId=" + userId +
", itemId=" + itemId +
", itemTitle='" + itemTitle + '\'' +
", cost=" + cost +
", itemNum=" + itemNum +
", createTime=" + createTime +
'}';
}