接口的小坑01

(功能:前端存储选中的下拉框的数据然后将数据全部给后端处理)
这是前端的代码:


    //监听提交
    form.on('submit(saveRoleForm)', function(data){
        //数据的提交,ajax方式
        if(data.field.status=="on"){data.field.status=0}
        else {data.field.status=1}
        console.log(data.field);
        $.ajax({
            url: 'saveRole',//地址
            dataType: 'json',//数据类型
            type: 'POST',//类型
            data:data.field,
            //请求成功
            success: function (result) {
                if(result.code==0){
                    var checkedData=tree.getChecked('demoId1');
                    $.ajax({
                        type:"post",
                        url:"setAuthorityByKey"+"/"+data.field.roleKey,
                        dataType:"json",
                        data:"parms="+JSON.stringify(checkedData),
                        success:function(data){
                            layer.msg(data);
                        },
                        error:function (data) {
                            layer.msg(data);
                        }
                    });
                    //关闭弹出层
                    layer.closeAll();
                    //显示添加成功消息
                    layer.msg(result.message,{icon:1});
                    //重新加载数据表格
                    myTable.reload();
                }else if(result.code==1)
                {
                    //关闭弹出层
                    layer.closeAll();
                    layer.msg(result.message,{icon:5});
                }
                else if(result.code==2)
                {
                    layer.msg(result.message,{icon:5});
                    $("#roleKey1").val(data.field.roleKey);
                }
                else{
                    layer.msg(result.message,{icon:5});
                    $("#roleName1").val(data.field.roleName);
                }
            }
        });
        return false;
    });

这是后端的代码:

@RequestMapping(value="/setAuthorityByKey/{roleKey}",produces="application/json; utf-8")
    @ResponseBody
    public int setAuthorityByKey(String parms,  @PathVariable String roleKey)
    {
        Role role=roleBizImpl.selectByRoleKey(roleKey);
        Integer roleId=role.getRoleId();
        System.out.println("aaaa:"+parms.toString());
        System.out.println("bbbbbbbb"+roleId);

           List<LayUiTree> authorityTree=JSON.parseArray(parms,LayUiTree.class);
        System.out.println("----"+authorityTree.toString());
        List<Integer> stringList= returnTree(authorityTree);
        System.out.println("******"+stringList);
        int i=0;
        for(Integer menuId:stringList){
            i=roleBizImpl.insertMenuRoleId(roleId,menuId);
        }
        if(i==1)
         return 0;
        else
        return 1;

    }

后端代码里有个参数 String parms,然而前端却没有对应的接口(也就是没有一个parms的键值)
于是用一个土方法:直接在前端写一个给后端。在这里插入图片描述
然后就可以了。。。(这个坑折磨了一个下午最后被一个高中同学解决,主要是因为前端传来的值的键值是不固定的)
在这里插入图片描述
由于此刻是所有各种类型的值都传过来所以得在控制层或者是业务层进行筛选最终选出自己想要的数据并进行处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值