• Java后端接收数组 或 对象


    • 1.前端不做处理,
            var roleIds = new Array();
            $("input[name='uRole']:checked").each(function(index,element){
                let roleId = $(element).attr("data-roId");
                roleIds[index] = roleId;
            });
            $.ajax({
                type: "post",
                url: baseUrl + "/userManage/updateUserRole",//对应controller的URL
                async: true,
                dataType: 'json',
                data: {
                    "array": roleIds
                },
                success:

    后端接收:

     String[] array = req.getParameterValues("array[]");
            if (!StringUtils.isEmpty(array))
                for (String string : array) {
                    System.out.println("直接获取传递的数组参数:"+string);
                }
            else
                System.out.println("直接获取传递的数组参数为空");
    • 2.以json字符串形式传递到Java后端
            $.ajax({
                type: "post",
                url: baseUrl + "/userManage/updateUserRole",//对应controller的URL
                async: true,
                dataType: 'json',
                contentType : "application/json",
                data: JSON.stringify(roleIds),//json对象转化为json字符串
                success: function (ret) {
                    console.log(ret);
                }

    后端接收:

        @RequestMapping(value = "/updateUserRole")
        @ResponseBody
        public String updateUserRole(HttpServletRequest req,@RequestBody String[] roleIdsss) {
            if (!StringUtils.isEmpty(roleIdsss))
                for (int i = 0; i < roleIdsss.length; i++) {
                    String idsss = roleIdsss[i];
                    System.out.println("requestBody获取传递的json数组参数:" + idsss);
                }
            else
                System.out.println("requestBody获取传递的json数组参数为空");

    两种post请求的content-type不同

    • 后端使用java对象接收

     前端js 传递json字符串,设置contentType:"application/json":

            var dataObj = {
                "userName":username,
                "phone":phone,
                "id":uId
            }
            var dataJsonStr = JSON.stringify(dataObj);
            console.log(dataJsonStr);
            $.ajax({
                type:"post",
                url:baseUrl+"/userManage/updateSyeUser",//对应controller的URL
                async:true,
                contentType : "application/json",
                dataType: 'json',
                data: dataJsonStr,
                success:function(ret){
          

    后台java:需要使用@requestBody 

        @RequestMapping(value = "/updateSyeUser",method = RequestMethod.POST)
        @ResponseBody
        public Map<String,Object> updateSyeUser(@RequestBody SysUser sysUser){//
     

    参考链接:

    https://blog.csdn.net/u012838207/article/details/80519375

    源码,是痛苦的,又是快乐的,如果没有这痛苦,也就没有了这快乐!
  • 相关阅读:
    软件的概念
    打开别人Android项目的方法
    软件工程
    数据预处理技术
    机器学习之监督学习
    C语言指针与二维数组
    徐涛政治押题
    求二叉树的宽度
    解决在某些IE浏览器下字符乱码的问题
    mac系统不能使用127.0.0.2的解决方案
  • 原文地址:https://www.cnblogs.com/erlongxizhu-03/p/12337133.html
Copyright © 2020-2023  润新知