DataTables服务器端处理URL太长
有没有办法阻止它将所有列发送到服务器 当前,AJAX请求如下所示: ssp.php?draw=2&列%5B0%5D%5Bdata%5D=id&列%5B0%5D%5Bname%5D=&order%5B0%5D%5Bcolumn%5D=10&订单%5B0%5Bdir%5D=asc&start=0&length=10&搜索%5Bvalue%5D=&search%5Bregex%5D=false&&u=1448240832750 但它有5689个字符长。我正在寻找一种方法来禁用所有不必要的列数据。这可能吗?DataTables服务器端处理URL太长,datatables,Datatables,有没有办法阻止它将所有列发送到服务器 当前,AJAX请求如下所示: ssp.php?draw=2&列%5B0%5D%5Bdata%5D=id&列%5B0%5D%5Bname%5D=&order%5B0%5D%5Bcolumn%5D=10&订单%5B0%5Bdir%5D=asc&start=0&length=10&搜索%5Bvalue%5D=&search%5Bregex%5D=false&&u=1448240832750 但它有5689个字符长。我正在寻找一种方法来禁用所有不必要的列数据。这可能
解决方案是使用post而不是GET您可以改为通过post发送,因此这些字段都不会出现在发送到服务器的URL上。以下是来自以下方面的示例:
$(文档).ready(函数(){
$('#示例')。数据表({
“服务器端”:正确,
“ajax”:{
“url”:“scripts/post.php”,
“类型”:“职位”
},
};
});
如果使用GET
尝试删除不必要的列
$('#your-table').DataTable({
serverSide: true,
processing: true,
ajax: {
url: 'url-here',
data: function (data) {
for (var i = 0, len = data.columns.length; i < len; i++) {
if (! data.columns[i].search.value) delete data.columns[i].search;
if (data.columns[i].searchable === true) delete data.columns[i].searchable;
if (data.columns[i].orderable === true) delete data.columns[i].orderable;
if (data.columns[i].data === data.columns[i].name) delete data.columns[i].name;
}
delete data.search.regex;
}
}
})
$(“#您的表”).DataTable({
服务器端:是的,
处理:对,
阿贾克斯:{
url:“此处的url”,
数据:函数(数据){
for(var i=0,len=data.columns.length;i
使用“删除”删除不想发送的字段。例如:
"ajax": {
"url": "yoururl",
"data": function (d) {
for (var i = 0, len = data.columns.length; i < len; i++) {
delete data.columns[i];
}
delete data.search.regex;
return $.extend({}, d, {
"filterOne": $('#mydropdown').val(),
});
},
"type": "GET",
},
“ajax”:{
“url”:“yoururl”,
“数据”:功能(d){
for(var i=0,len=data.columns.length;i
使用可抑制不必要的参数,如以下方式:
"ajax":{
url :"admin/customers/ajax_datatables",
type: "get",
data: function ( data) {
delete data.columns; // <-- too long and not neccessary if you don't use
//and you can add more data
data.form_search_params = $("#frm_search").serializeFormJSON();
},
error: function (xhr, error, thrown) {
console.log(xhr);
}
},
“ajax”:{
url:“admin/customers/ajax\u datatables”,
键入:“获取”,
数据:函数(数据){
delete data.columns;//非常感谢!对我来说,我只是删除了columns
条目:ajax:{data:({columns,…others})=>others}