我有一个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将多选数据作为逗号分隔的列表而不是数组发送到服务器?

最佳答案

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

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

10-08 11:47