当前位置:   article > 正文

当前端传输的数据是数组类型时,java后端的接收方式_java前端传数组后端怎么接

java前端传数组后端怎么接

1.直接传送的方式

前端代码

前端直接发送一个数组

    $("#toBtn1").click(function () {

        $.ajax({
            url:"test/request/body1.json",
            method:"post",
            data:{
                "empIdArray":[2,3,15]
            },
            dataType:"json"
        })
    });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

后端代码

注意:此时的接收的参数名后面要加上一个[]

    @ResponseBody
    @RequestMapping(value = "/test/request/body1.json")
    public String  testRequestBody1(@RequestParam("empIdArray[]") int[] empArr){

        System.out.println(Arrays.toString(empArr));
        return "success";
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2.使用JSON的传输方式

前端代码

①:先使用JSON.stringify()将数据转换成JSON类
②:记得在ajax的contentType参数哪里添加上application/json;charset=utf-8
contentType:application/json;charset=utf-8:设置向后台提交的类型是JSON类型,而且编码格式是utf-8

 $("#toBtn2").click(function () {

        var empIdArray = [2,3,15];

        var empIdJson = JSON.stringify(empIdArray);

        $.ajax({
            url:"test/request/body2.json",
            method:"post",
            data:empIdJson,
            contentType:"application/json;charset=UTF-8",
            dataType:"json"
        })
    });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

后端代码

@RequestBody 使用的场景:传统发送请求参数方式不方便发送的数据,使用JSON 请求体的方式发送。特别是要发送复杂对象的时候

在后端代码中只需要在参数前声明@RequestBody注解即可

    @ResponseBody
    @RequestMapping(value = "/test/request/body2.json")
    public String  testRequestBody2(@RequestBody int[] empArr){

        System.out.println(Arrays.toString(empArr));
        return "success";
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/280069
推荐阅读
相关标签
  

闽ICP备14008679号