前台传数组 当数组只有一个值时,就变成了string类型,不再是数组了,这个怎么处理呢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前台传数组 当数组只有一个值时,就变成了string类型,不再是数组了,这个怎么处理呢相关的知识,希望对你有一定的参考价值。

String[] a ;String s;
if(a.length()==1)
s=a[0];
再把s传过去。是这个意思么
参考技术A 其实 你可以就传字符串, 以某个字符分隔 ,到后台 拆分就可以了 参考技术B springmvc封装了restful框架,底层应该是用ajax传数据

SSM中前台传数组。后台接受的问题

当时写得时候,忘记考虑json的jar,做个记录。

第一步:先带入jar

<dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.8</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.8</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.8</version>
        </dependency>

这个时候要注意spring的版本。我的是5.0.2。

第二步前台写js代码:

$("#del_btu").click(function () 
                    alert("---------------------------------");
                    var data = new Array();
                    $("input[name=‘ids‘]:checked").each(function (i) 
                        data[i]= $(this).val();
                    );
                    console.log(data);
                    if(confirm("您确定要删除吗?"))
                        $.ajax(
                            type:"POST",
                            dataType:"json",
                            contentType: ‘application/json;charset=utf-8‘,//这个必须是这个格式
                            url:"$pageContext.request.contextPath/user/deleteUsers.do",
                            data:JSON.stringify(data),
                            success:function (date) 
                                    alert("删除失败");
                            ,
                            error:function () 
                            
                        );
                    
                     
                );

第三步,web层接受参数:

    @RequestMapping(value = "/deleteUsers.do" ,method = RequestMethod.POST)
    @ResponseBody
    public String deleteUsers(@RequestBody String[] ids) throws Exception
        userService.deleteUsersById(ids);
        return  "true";
    

注意是用string数组在接受。

以上是关于前台传数组 当数组只有一个值时,就变成了string类型,不再是数组了,这个怎么处理呢的主要内容,如果未能解决你的问题,请参考以下文章

当数组只有一个值时处理条件逻辑,即使它是一个空字符串?

当 XML SOAP 响应中存在单个元素时,JSON 对象而不是数组

js中如何获得后台传的list数组

javascript怎么遍历后台request传过来的List对象

protobuf转换的数组传进scoket中类型转换错误

前台向后台传数组处理