前端map传值

/**
         * 封装数据ajax后端生成账单
         */
        $("#submit").click(function () {
            var list = new Array();
            for (let i = 0; i < dataList.quickItemList.length; i++) {
                let ele ={
                    itemId:"",
                    itemName:"",
                    chargeStartTime:"",
                    price:"",
                    num:""
                };
                ele.itemId=($('.itemId[data-index=' + i + ']').val());
                ele.itemName=($('.itemName[data-index=' + i + ']').val())
                ele.chargeStartTime=($('.chargeStartTime[data-index=' + i + ']').val())
                if ($('.itemId[data-index=' + i + ']').val() == dataList.parkCellItemId) {
                    ele.price=($('.parkPrice').val());
                } else {
                    ele.price=($('.priceList[data-index=' + i + '] option:selected').val())
                }
                ele.num=($('.num[data-index=' + i + ']').val())
                list.push(ele);
            }
            var dataMap={"dataList":list,
                "parkCellCode":$('.parkList option:selected').val(),
                "baseRoomName":$('[name="baseRoomName"]').val(),
                "cgRoomId":$('[name="cgRoomId"]').val()};

            $.ajax({
                type: "POST",
                url: "v3/charge/bill/goQuickDeliverItems",
                dataType:"json",
                contentType:"application/json;charset=utf-8",
                data:JSON.stringify(dataMap),
                success: function(res){

                }
            })

        });
@RequestMapping(value = "/goQuickDeliverItems", method = RequestMethod.POST)
    public ModelAndView goQuickDeliverItems(@RequestBody Map<String,Object> map) {
        ModelAndView mv = new ModelAndView();
        log.debug(map.toString());
        mv.setViewName("quickdeliveritems/quickdeliveritems_pay_center");
        return null;
    }

前端new Array()可以创建集合,直接var arr=[],可以创建数组。
但是new Map()创建的不是map数据结构,是es6里的一种特殊结构,无论是否序列化都无法传入后台。
前端创建map可以通过创建对象的方式实现:
var map={“a”:1,“b”:2}
通过JSON.stringify() 将JavaScript里的对象序列化为json字符串传递到后台接收

你可能感兴趣的:(javascript)