前端传递数组给后端,
首先创建数组对象,
java"> var cartItemId = new Array();
将数据存入数组中后,使用stringify将数组字符串化,
javascript>javascript"> cartItemId = JSON.stringify(cartItemId);
用$.ajax()方法传给后端进行处理
javascript>javascript"> $.ajax({
type: "POST",
url: "viewOrderForm",
data: {
"orderItemId": cartItemId,
"orderItemQuantity": cartItemQuantity,
"totalMoney":singleProductTotal
},
dataType: 'text',
success:function (data) {
console.log("服务器接收改变数量为" + cartItemId + cartItemQuantity + singleProductTotal)
console.log(data);
window.location.replace(data);
}
})
})
后端获取数据进行处理
java"> //获取字符串
String itemString = request.getParameter("orderItemId");
String quantityString = request.getParameter("orderItemQuantity");
String moneyString = request.getParameter("totalMoney");
将字符串转化成JSONArray
java"> //转换成JSONARRAY
JSONArray itemArray = JSON.parseArray(itemString);
用get方法获得数组中每个元素并进行后续操作
java"> System.out.println(itemArray.get(i).toString());
前端代码总:
javascript>javascript">//提交按钮
var $submitorder = $("#submitOrder");
$submitorder.on("click", function () {
//提交购物车数据给服务器
//产品item信息
var cartItemId = new Array();
//产品数量信息
var cartItemQuantity = new Array();
//产品单品总价array
var singleProductTotal = new Array();
//获取所有的产品的item
var currentItem = document.getElementsByClassName("itemId");
//所有的总价
var allTotalPrice = document.getElementsByClassName("totalPrice");
for(var i = 0 ; i < allTotalPrice.length ; i++){
var innerPrice = allTotalPrice[i].innerHTML;
console.log("单品总价" + i + "="+ innerPrice)
innerPrice = innerPrice.trim();
innerPrice = innerPrice.substring(1);
singleProductTotal[i] = innerPrice;
}
for (var i = 0; i < currentItem.length; i++) {
//获取产品的itemId
var currentItemId = currentItem[i].innerHTML;
currentItemId = currentItemId.trim();
console.log(currentItemId);
cartItemId[i] = currentItemId;
//获得产品数量
var currentQuantity = quantityInput[i];
currentQuantity = currentQuantity.value;
currentQuantity = parseInt(currentQuantity);
console.log(currentQuantity);
cartItemQuantity[i] = currentQuantity;
}
//字符串化
cartItemId = JSON.stringify(cartItemId);
cartItemQuantity = JSON.stringify(cartItemQuantity);
singleProductTotal = JSON.stringify(singleProductTotal);
$.ajax({
type: "POST",
url: "viewOrderForm",
data: {
"orderItemId": cartItemId,
"orderItemQuantity": cartItemQuantity,
"totalMoney":singleProductTotal
},
dataType: 'text',
success:function (data) {
console.log("服务器接收改变数量为" + cartItemId + cartItemQuantity + singleProductTotal)
console.log(data);
window.location.replace(data);
}
})
})
后端代码总:
java"> Cart cart = new Cart();
//获取字符串
String itemString = request.getParameter("orderItemId");
String quantityString = request.getParameter("orderItemQuantity");
String moneyString = request.getParameter("totalMoney");
//转换成JSONARRAY
JSONArray itemArray = JSON.parseArray(itemString);
System.out.println(itemArray);
JSONArray quantityArray = JSON.parseArray(quantityString);
System.out.println(quantityArray);
JSONArray moneyArray = JSON.parseArray(moneyString);
for(int i = 0; i < itemArray.size(); i++) { //循环打印出数组
System.out.println(itemArray.get(i).toString()+quantityArray.get(i) .toString()+moneyArray.get(i).toString());
// System.out.println(quantityArray.get(i));
}
//赋值给cart
for(int i = 0 ; i < itemArray.size() ; i++){
Item item = catalogService.getItem(itemArray.get(i).toString());
int quantity = Integer.parseInt(quantityArray.get(i).toString());
BigDecimal total = new BigDecimal(moneyArray.get(i).toString());
cart.addItem(new CartItem(item,quantity,total));
}