前端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字符串传递到后台接收

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端,如果后端使用@RequestBody接收Map参数,可以使用ajax的data属性将参数以JSON字符串的形式递给后端。在你提供的代码中,可以将jsonObj转换成JSON字符串,并将其作为data属性的递给后端。具体代码如下: ```javascript var jsonObj = { "mrcNo":mrcNo, "ordId":ordId }; var paramerters = JSON.stringify(jsonObj); $.ajax({ type: 'post', url: "getSmsCd", contentType: 'application/json;charset=UTF-8', dataType: 'json', data: paramerters, success: function(data){ if(data != null){ document.getElementById("smsCd").value = data.smsVerifCd; }else{ alert("XXX失败"); } }, error: function(){ alert("网络异常!请稍后重试!"); } }); ``` 这样,后端就可以通过@RequestBody注解接收到前端递的Map参数。 #### 引用[.reference_title] - *1* [前端,后端使用Map接受](https://blog.csdn.net/administratop/article/details/126667702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [后台@RequestBody接收参数,前台js该如何在ajax中?](https://blog.csdn.net/gongjin28_csdn/article/details/107403758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值