後臺
@Data
public class OrderMap {
private Long id;//訂單標識
private Long pId;//商品標識
private Long sId;//規格id
private Integer num;//購買規格的數量
}
@PostMapping("/pay")
public ModelAndView createMOrder(@RequestBody List<OrderMap> orderMaps) throws WxPayException {
ModelAndView mv = new ModelAndView();
//mv.addObject("wxPayMpOrderResult",wxPayMpOrderResult);
mv.setViewName("mobile/order/pay/payindex");
return mv;
}
前臺
$('#submit_order').on('click', function() {
var data=new Array();
$(".order-detail").each(function(i){
var orderObject={pId:$(this).attr("productId"),sId:$(this).attr("specId"),num:$(this).attr("count")};
data[i]=orderObject;
});
$.ajax({
type: "POST",
url: /*[[@{/mobile/order/pay}]]*/ "",
contentType:"application/json",
dataType:"json",
cache:false,
data: JSON.stringify(data),
success: function(data){
console.log("success",data);
if(data.msg==1){
alert("success");
}else{
alert("error");
}
}
});
});
form 提交數組列表
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Order {
private Long id; // 訂單標識
private List<OrderMap> maps;
}
@PostMapping("/paym")
public ModelAndView createMOrder(Order order) throws WxPayException {
ModelAndView mv = new ModelAndView();
//mv.addObject("wxPayMpOrderResult",wxPayMpOrderResult);
mv.setViewName("mobile/order/pay/payindex");
return mv;
}
<form method="post" th:action="@{/mobile/order/paym}" id="payForm">
<input name="maps[0].pId" value="1"/>
<input name="maps[0].sId" value="2"/>
<input name="maps[0].num" value="3"/>
<input name="maps[1].pId" value="11"/>
<input name="maps[1].sId" value="12"/>
<input name="maps[1].num" value="13"/>
</form>
js提交
$("#payForm").submit();