【问题标题】:Disable server-side processing for sort禁用用于排序的服务器端处理
【发布时间】:2016-12-12 19:02:42
【问题描述】:

我正在使用 DataTables 在表格中显示信息,并且我已经启用了服务器端加载(我只需要它来加载数据和分页),我不需要按服务器端搜索或排序,我我的表需要默认搜索和排序(jQuery)。

我该怎么做?

var table2 = $('#datatable-buttons2').DataTable({
  "serverSide": true,
  "processing": true,
  "asSorting": ['desc', 'asc'],
  "ajax": {
    'type': 'POST',
    'url': 'test.php?nowsearch=1',
    'data': {
      inputaz: $("#inputaz").val(),
      inputta: $("#inputta").val(),
      inputkey: $("#inputkey").val()
    }
  },
  "columns": [{
    "data": "group_name"
  }, {
    "data": "sender"
  }, {
    "data": "date"
  }],
});

【问题讨论】:

    标签: javascript jquery sorting datatables server-side


    【解决方案1】:

    也许你可以这样做,自定义用 Javascript 检索的数据,但这没有用

    如果您在客户端使用serverSide: true对您的项目进行排序,它将仅对当前检索到的数据进行排序,而不是基于您数据库中的所有数据集(如果您确实限制结果,如果您不这样做,则直接使用@ 987654324@witch 将检索所有记录)。

    例如,如果您有 1000 条记录,则您只能获得前 10 条的数据,而不是全部 (10/25/50/100)。如果你在本地按age排序,它会将检索到的10排序。然后,如果你转到下一页,你会注意到第2页与第1页不连续。

    这就是为什么当您使用serverSide: true 时必须用您的后端语言编写排序/搜索代码的原因:在那里您将首先排序,然后然后返回 10 条已排序的记录。

    这就是这个选项的想法。

    无论如何...您也可以使用 paging option 为客户端 (serverSide: false) 进行分页。但是您需要注意性能。

    简而言之,如果您要处理许多记录,则应继续使用服务器端并从后端编写排序/搜索/分页/等代码并返回相应的数据。不是那么难。您可以使用parameters sent 来实现这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      • 1970-01-01
      • 2020-11-25
      • 1970-01-01
      相关资源
      最近更新 更多