数据表aodata.push将数组转换为逗号分隔列表

时间:2015-02-24 22:54:20

标签: javascript php jquery datatables datatables-1.10

我有一个Web应用程序正在使用带有ajax回调的jquery DataTables来搜索/排序数据服务器端。我正在使用aoData.push推送一些数据补充。其中一个数据值是多选框的值,因此它是一个javascript数组,所以推送看起来像

aoData.push({name:"multiselect",value:$('#multiselect').val()});

DataTables 1.9.1中,在ajax请求的GET参数中,multiselect最终为逗号分隔列表,即

&multiselect=1,2,3

我已更新到版本1.10,现在该值实际上已作为数组发送:

&multiselect[]=1&multiselect[]=2&multiselect[]=3

我希望它回到逗号分隔列表,因为这是服务器端php代码所期望的,而且我无法访问它。

我在HTML或DataTables初始化中没有更改任何内容,我只是将jquery.dataTables.js包含文件更新为较新版本。

如何告诉DataTables将多选数据作为逗号分隔列表而不是数组发送到服务器?

1 个答案:

答案 0 :(得分:1)

您可以通过设置$.fn.dataTable.ext.legacy.ajax = true强制数据表1.10使用1.9样式的发送服务器参数。

http://www.datatables.net/manual/server-side#Legacy