ajax 发送请求将json参数带到后台,并且json 中 带有数组对象,代码实例如下

第一步: 前台页面代码

      在发送ajax 请求时需要加入下面这个参数 ,后台接收时使用下面的注解(下面是完整demo)

      traditional:true,//这个参数必须添加,采用传统方式转换

     @RequestParam(value="shelves", required=false)   这个 注解会包含空数组对象的,这样就可以接收了。

     其中idsFlagshipStoreSelected  和  idsSalesManSelected 是数组对象,并且 可能是空的,

    var businessHandoverPhone = $("#businessHandoverPhone").val() ;
   
    //选中的旗舰店id
    var idsFlagshipStoreSelected = 
            $('select[name="duallistbox_demo1[]"]').bootstrapDualListbox({selectedListLabel:true}).val();
    var flagshipStoreFlag =  $('select[name="duallistbox_demo1[]_helper1"]').find('option').length ==  0 ;
    
    //选中的服务经理id
    var idsSalesManSelected = 
            $('select[name="duallistbox_demo2[]"]').bootstrapDualListbox({selectedListLabel:true}).val();
    var salesManFlag = $('select[name="duallistbox_demo1[]_helper1"]').find('option').length ==  0 ;

    var data = {"businessHandoverPhone":businessHandoverPhone,"toHandoverName":toHandoverName,
                "idsFlagshipStoreSelected":idsFlagshipStoreSelected ,
                "flagshipStoreFlag":flagshipStoreFlag ,"idsSalesManSelected":idsSalesManSelected ,
                "salesManFlag":salesManFlag} ;
                
    $.ajax({
        url: ctx + '/sys/businessHandover/authc_json/businessManagerHandover',
        type:'post',
        dataType:'json',
        traditional:true,//这个参数必须添加,采用传统方式转换
        data : data,
        success:function (result) {
            if(result.resultCode == 0) {
                showSuccessMsgAtBottom(result.resultMessage);
                //刷新列表
                $('#thisTable').bootstrapTable("refresh");
                layer.close(index) ;
            }else{
                showErrorMsgAtBottom(result.resultMessage) ;
            }
        }
    });
    
    

后台接收代码   

@RequestMapping("/authc_json/businessManagerHandover")
    @ResponseBody
    public Map<String,Object> businessManagerHandover(
                @RequestParam String businessHandoverPhone , 
                @RequestParam String toHandoverName ,
                @RequestParam(value="idsFlagshipStoreSelected", required=false)  String[] idsFlagshipStoreSelected ,
                @RequestParam Boolean flagshipStoreFlag,
                @RequestParam(value="idsSalesManSelected", required=false)  String[] idsSalesManSelected , 
                @RequestParam Boolean salesManFlag ){
        Map<String,Object> map = new HashMap<>() ;
        Map<String,Object> checkMap = BusinessHandoverCheck.checkBusinessHandoverRoleCode(businessHandoverPhone , toHandoverName)  ;
        if (checkMap.size() == 0 ) {
            Users users = usersService.findByName(toHandoverName) ;
            Users unDeleteUsers = usersService.findByName(businessHandoverPhone) ;
            try {
                map = businessHandoverService.transferData(idsFlagshipStoreSelected , flagshipStoreFlag , idsSalesManSelected , salesManFlag ,users ,unDeleteUsers ) ;
            }catch (Exception e) {
                map = _ResultUtils.showError("1","操作失败!") ;
            }
        } else  {
            map  = checkMap ;
        }
        return map ;

    }

猜你喜欢

转载自blog.csdn.net/qq_28917403/article/details/82528777