后台接受前台传值的几种方法

本文详细介绍了五种从前端向后端传输数组数据的方法,包括使用逗号拼接、JSON.stringify、直接传输数组、contentType为application/json及利用框架特性直接接收List。每种方法都附有具体实现的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 最土的方法(跟标题不搭)
            前台,逗号拼接拼成字符串
            后台,String[] arr = ids.split(",")
    
        2 默认的contentType: "application/x-www-form-urlencoded",
        
            前台 JSON.stringify(ids)
            后台 
            
                public RspResult test(String array) {
                    List<String> ids = JSON.parseArray(ids,String.class)
                }
    
            注明
                array:"["1","2"]"
                这种方法也可以接受对象数组
    
        3 默认的contentType: "application/x-www-form-urlencoded",


            前台 不需要JSON.Stringfy(),正常传一个数组
            
            后台 
            
                public void test(HttpServletRequest req) throws IOException {
                    String[] array = req.getParameterValues("ids[]");
                    ...
                }
    
            注明 ids[],不能少了[],不然array 为 null
        4 contentType : "application/json"
        
            前台 JSON.stringify(arr)
            
            后台    
        
            public RspResult get(@RequestBody String[] array) {
                ...
            }
                
        这里有个奇怪的现象

            前台 
                content-type默认值
                JSON.stringify()
            
            后台
                public void test(HttpServletRequest req) throws IOException {
                    String[] array = req.getParameterValues("ids");
                    
                    return ;
                }
                
                注意:array[0]:["1","2"]

  5 利用框架特性,后台直接用一个list接收

      js:  var arr = []

              arr.push($(this).val());

      Controller:

    @Controller 

    public void test(@RequestParam(required = false, value = "arr[]" List<String> arr)) {

    }

  这样就直接调用了!


    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值