应该可以的。ids 什么类型的〉?
试试看看  data : {"ids":ids+""},

解决方案 »

  1.   

    楼主把代码贴完整点吧。ids的值在哪里赋值的?
      

  2.   

    ids赋值的位置很重要,否则,你传不进去值的。
      

  3.   


    ids是数组。按你得方法可以!但是为什么加“”呢?
      

  4.   


    var ids=[];
    var rows =  $("#table").datagrid('getSelections');
    for(var i=0; i<rows.length; i++){
       ids.push(rows[i].id);
    }
      

  5.   

    ids赋值的位置很重要,否则,你传不进去值的。
    $("#delete").bind("click",function(){
       var ids=[];
       var rows =  $("#table").datagrid('getSelections');
       for(var i=0; i<rows.length; i++){
    ids.push(rows[i].id);
       }
    ...
       if(confirm("确定删除吗")){
    $.ajax({
       url : "ruleManage!delete"",
       data : {"ids":ids},
       type : "post",
               success : function(data) {
                  alert(data);
               }
    });
       }

    })
      

  6.   


    var ids=[];
    var rows =  $("#table").datagrid('getSelections');
    for(var i=0; i<rows.length; i++){
       ids.push(rows[i].id);
    }
    额,数组啊还真没这样传过。刚好找到和你类似的问题,http://bbs.csdn.net/topics/390072895。
      

  7.   

    楼主传给服务端的如果直接传ids,是数组的那么action那边就要用String[] ids来接收,楼主的action是用String ids来接收并且用了split(",");这种情况很明显要前台的ids是以数组内容的串,这个时候ids.toString()和ids+""都会变成"1,1,2,3,4"这样的字符串传给action
      

  8.   

    接受方式 , 比如 前面 如  <input name='test' value='1'/> <input name='test' value='2'/>
    等等
    后台接受用数组。 String[] test;
      

  9.   

    楼主传给服务端的如果直接传ids,是数组的那么action那边就要用String[] ids来接收,楼主的action是用String ids来接收并且用了split(",");这种情况很明显要前台的ids是以数组内容的串,这个时候ids.toString()和ids+""都会变成"1,1,2,3,4"这样的字符串传给action
    是这样啊~那我data写成{"ids":ids},ids中有3个值[2,3,4],
    然后action中改成
    private String[] ids;
    public void setIds(String[] ids) {
    this.ids = ids;
    }
    调试得时候为什么ids.length为1呢,为什么不是3呢?谢谢~
      

  10.   

    如果是3个。得类似这种形式
    <html>
    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
    </script>
    <script type="text/javascript">
    $(document).ready(function(){
      $("button").click(function(){
        $("div").text($("form").serialize());
      });
    });
    </script>
    </head>
    <body>
    <form action="">
    First name1: <input type="text" name="FirstName" value="Bill1" /><br />
    First name2: <input type="text" name="FirstName" value="Bill2" /><br />
    First name3: <input type="text" name="FirstName" value="Bill3" /><br />
    </form><button>序列化表单值</button>
    <div></div>
    </body>
    </html>
      

  11.   

    这个你用firebug看下网络,传到action的参数是不是变成
    ids[] 1
    ids[] 2
    ids[] 3这样的,如果是的话这是因为jquery的序列化造成的楼主在发送请求之前加上
    jQuery.ajaxSettings.traditional=true;这样就可以正常的
    ids 1
    ids 2
    ids 3传参了
      

  12.   

    这个你用firebug看下网络,传到action的参数是不是变成
    ids[] 1
    ids[] 2
    ids[] 3这样的,如果是的话这是因为jquery的序列化造成的楼主在发送请求之前加上
    jQuery.ajaxSettings.traditional=true;这样就可以正常的
    ids 1
    ids 2
    ids 3传参了这个你用firebug看下网络,传到action的参数是不是变成
    ids[] 1
    ids[] 2
    ids[] 3这样的,如果是的话这是因为jquery的序列化造成的楼主在发送请求之前加上
    jQuery.ajaxSettings.traditional=true;这样就可以正常的
    ids 1
    ids 2
    ids 3传参了
    没错,是ids[] 1 ids[] 2 ids[] 3这样的,加上那句话就好用了!非常感谢!
    我还想问一下为什么ids[] 1 ids[] 2 ids[] 3 这样的格式就是序列化了,为什么序列化了就不可以呢,序列化到底是什么意思
      

  13.   

    这是jquery使用ajax方法的时候内部会对data这个数据进行深层次的序列化,对于对象形式的data例如{key:value}的都会调用$.param(data);这种都会进行深层次的序列化.序列化的结果都可以参考jquery文档param的方法说明里面就对比了$.param(data,true);以及$.param(data);的两种结果
      

  14.   

    这个ids在javascript中没有声明,也没有赋值,应该编译不过去,格式是对的,ids值应该是不行的