SSM关于前端传递数组与表单数据给后端

   function batchEditSubmit() {
   //    var data=$("#batchEdit").serialize();
  var data=$.param({"ids":JSON.stringify(ids)})+"&" +$("#batchEdit").serialize();
  console.log(data);
        $.ajax({
            url:"batchEdit.do",
            data:data,
            dataType:"json",
            contentType:"application/json",
            async:false,
            success:function () {
                layer.msg("操作成功!");

                closeBatchEdit();

                finds();
            },
            error:function () {
                layer.msg("操作失败!");
                closeBatchEdit();
            }
            
        });
        return false;
    }

上面是前端页面的方法,要传递的数据是ids数组及id为batchEdit的表单的内容。传递时,将数组id变为json类型数据,在后端用Map类型接收。如下 data接受了ids数组及表单数据,在这里要把ids数组处理,因为获得的ids是String类型

    @RequestMapping(value = "batchEdit.do")
    public @ResponseBody Map batchEdit(@RequestParam Map data){
        try {
            Map result=new HashMap<>();
            String stringIds= String.valueOf( data.get("ids"));
            Integer[] ids=ExtraMethod.changeToArray(stringIds);//将String转换为数组
            data=ExtraMethod.setNull(data);
            zoneRoomService.batchEditRoom(ids,data);
            result.put("state","success");
            return  result;
        }catch (Exception e){
            return null;
        }

    }

打开浏览器network,可以看到传给后端的数据

SSM关于前端传递数组与表单数据给后端_第1张图片

 

你可能感兴趣的:(SSM关于前端传递数组与表单数据给后端)