1、Ajax提交表单
前台:
var formData = new FormData($("#pay-credential-form")[0]);
$.ajax({
url: '/user/order/savePayCredential',
type: 'post',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (result) {
if (result.code == 200) {
layer.msg("保存成功", {time:500}, function () {
location.reload();
});
}else{
alert(result.message);
}
}
});
控制台接收
/**
* 我的订单-增加付款凭证-保存
* @param payCredentialVo
* @return
*/
@RequestMapping("/user/order/savePayCredential")
@ResponseBody
public Result savePayCredential(PayCredentialVo payCredentialVo) {
User user = loginUser();
userService.savePayCredential(payCredentialVo, user);
return Result.success();
}
2、Ajax传输数组数据
前台:
function deleteOrderDetails(orderDetailIds) {
$.ajax({
url: '/shop/deleteOrderDetails',
dataType: 'json',
type: 'post',
traditional: true,
data: {"orderDetailIds": orderDetailIds},
success: function (result) {
if (result.code == 200) {
layer.msg("删除成功", {time:500}, function () {
window.location.reload();
});
}
}
})
}
后台
/**
* 购物车 -> 单个或批量移除购物车中的物件
* @param orderDetailIds
* @return
*/
@RequestMapping("/shop/deleteOrderDetails")
@ResponseBody
public Result deleteOrderDetails(String[] orderDetailIds) {
User user = loginUser();
return shoppingService.deleteOrderDetails(orderDetailIds, user);
}
3、Ajax传输普通单个数据
前台:
/**
* 实时保留改变后(数量)的状态(离开页面后也可以保存)
*/
function saveEditOrderDetail(orderDetailId, buyNum) {
$.ajax({
url: "/shop/saveEditOrderDetail",
dataType: "json",
type: "post",
data: {"orderDetailId": orderDetailId, "buyNum": buyNum},
success: function (result) {
if (result.code == 200) {
calculateTotalPrice();
}
}
})
}
后台:
/**
* 购物车 - 保存单个物件数量修改后的状态
* @param orderDetailId
* @param buyNum
* @return
*/
@RequestMapping("/shop/saveEditOrderDetail")
@ResponseBody
public Result saveEditOrderDetail(String orderDetailId, Integer buyNum) {
shoppingService.saveEditOrderDetail(orderDetailId, buyNum);
return Result.success();
}