jq 完成复选框的全选和全不选,并组装成数组发送到后台

jQuery 代码实现,HTML dom节点对应js的id 即可

<script>    
    $(function() {
        //复选框全选和全不选
        $("#selectAll").click(function() {
            $(":checkbox[name='item']").prop("checked", this.checked); // this指代的你当前选择的这个元素的JS对象
        })
    })
    
    //将checkbox获取选中的值转成数组
    function selectCheckbox(){
        var obj=$("input[name='item']");  
        arr = [];
        for(k in obj){
            if(obj[k].checked)
               arr.push(obj[k].value);
        }
        return arr;
    }
    
    //保存数据
    function saveData(){
        var selectArray = selectCheckbox();
        $.ajax({
            url:"dealxxxx.jsp",
            data:{selectArray:selectArray},
            dataType:"json",
            traditional:true,
            success:function(res){
                if(res=="000"){
                    alert("OK");
                    location.reload();
                }else{
                    alert("error");
                    location.reload();
                }
            },
            error:function(){
                alert("error");
                location.reload();
            }
            
        })
    }
</script>

后台接收数组对象值
dealxxxx.jsp 使用jsp内置的request对象来获取
String[] selectArray = request.getParameterValues("selectArray");

 

总结ajax 发送请求后台处理成功但返回error 的问题

  1. 返回数据类型不是JSON
  2. 网络中断
  3. 后台响应中断
  4. 是否为跨域请求
  5. jquery版本过高导致数组对象传输时每个值都当作一个数组的问题,解决办法:traditional:true  

 

posted @ 2021-03-07 14:17  渊渟岳  阅读(220)  评论(0编辑  收藏  举报