我正在使用 jQuery 插件 DataTables 来构建一个包含来自服务器的一些数据的表。数据是使用 Ajax 源自动获取的,我使用服务器端执行分页。
这是我的列和表初始化:
var dTColumns = [];
jQuery.each(inputData.columns, function(key, value){
dTColumns.push({
"bVisible": key<4,
"bSortable":false,
"aTargets": [ key ],
"mData": value["fieldName"]
});
});
jQuery(table).dataTable({
"aoColumnDefs": dTColumns,
"bProcessing" : true,
"sAjaxSource" : inputData.serverURL,
"bServerSide": true,
"sAjaxDataProp" : inputData.resultsRootAttribute
});
问题是我对所有表操作(使用导航和排序系统触发的搜索)使用 GET 请求,并且我注意到所有列都放在 URL 内(这也发生在他们的示例中)。
问题是我的表中有 200 多列(仅显示前五列),并且插件为每列填充了 4 个字段的 URL。
如何防止 DataTables 将所有这些参数放在 URL 中?(我不需要列的排序和搜索功能)。
答案: 初始化表时,您可以添加自定义方式来执行与服务器的通信。在此方法中,您可以修改aoData对象,它是一个包含所有要发送到服务器的参数的数组。
你可以在这里找到一个例子!