ajax传递数组后台接收不到值的问题

背景:

    JQGrid需要进行批量删除操作传给后台的是数组,结果后台接收不到值。    

后台语言:java

原因:

ajax传递参数时,traditional 默认为false,JQuery会深度序列化参数对象,为了适应别的框架,但是Servelt API 无法处理,所以我们要设置 traditional 的值为ture,使其进行传统的序列化方式。

            $.ajax({
                type: 'post',
                url: '#',
                traditional:true,             //必须加!!!!!!需要这个值为true进行阻止深度序列化。
                data:{'userids':userids,'roleid':roleid},
                success: function(data) {
                    
                    }
                }
            });

  

官方文档解释:

官方文档的解释如下:
traditional 
类型:Boolean
如果你想要用传统的方式来序列化数据,那么就设置为 true。
Set this to true if you wish to use the traditional style of param serialization

 

参考:

http://blog.csdn.net/ojackhao/article/details/24580437

https://my.oschina.net/i33/blog/119506

posted @ 2017-05-17 13:40  邓晓晖  阅读(2626)  评论(2编辑  收藏  举报