@RequestBody 參數是對象數組列表,前後臺傳參

後臺

@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();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章