DataTables 服务器端分页

2024-01-08

我有工作 Spring REST 应用程序与客户端分页,默认由 DataTables 和一切正常。现在我需要将其更改为服务器端分页,我遇到了问题,因为不知道如何从数据表中获取客户端想要查看的页码信息。我在 DT 手册中找不到任何有用的内容。


当你说Datatable我假设你正在谈论数据表 https://datatables.net/jQuery 插件。

要激活服务器端分页,您需要通过

"serverSide": true,

像这样:

$('#example').DataTable( {
    "processing": true,
    "serverSide": true,
    "ajax": "/your_url"
});

执行上述操作将激活您的服务器端分页。但您也需要在服务器端进行一些更改。让我们一步步看看他们。

1. 标记时会发生什么serverSide as true

DataTables 插件将自定义参数添加到 AJAX 调用,其中包含以下信息

order:  asc
start:  20
length: 10

// and many more.

你可以检查这个演示链接 https://profile.ashishontech.xyz/datatable并查看传入的参数request当您单击下一页按钮时。

2. 同样,DataTables 插件需要响应一些字段以保留分页 logic.

"draw": 3,             // unique ID
"recordsTotal": 57,    // total number of records
"recordsFiltered": 57  // total number of filtered records

您可以检查这个演示链接 https://profile.ashishontech.xyz/datatable并看到response这次的数据。

3. 现在更改发生在 API 的服务器端

您需要将这些参数添加为queryParam对于控制器 API 中 POST 调用中的 GET 和 attr:

order: asc
start: 20
length: 10

4. 服务层变更-DB查询

服务中层,您可以在其中从数据库获取详细信息。

您需要获取记录总数并在搜索查询中传递 LIMIT 子句LIMIT 10, 10对于MySQL。

E.g.:

SELECT * FROM User LIMIT 20,10;

Use start and length计算下一组记录。

这可能会比较棘手,但如果你理解并正确实施,它会很有趣。

详细阅读更多内容here https://ashishontech.xyz/server-side-pagination-jquery-datatable/其中还包含代码和现场演示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DataTables 服务器端分页 的相关文章

随机推荐

  • 如何在 FluentUI 模式控件中创建粘性(不可滚动)页眉/页脚?

    使用 React Fluent UI 模态控件 有人可以告诉我如何 确保页眉和页脚不是可滚动内容的一部分 即它们是 粘性 的 而如果窗口大小不足 位于它们之间的主要内容是可滚动的 随着内容变化 最小化模态大小的变化 即视口的窗口大小与最初一
  • 奇怪的运算符优先级与 ?? (空合并运算符)

    最近我遇到了一个奇怪的错误 我将一个字符串与一个字符串连接起来int 然后添加另一个字符串 我的代码基本上与此等效 int x 10 string s foo x 0 bar 令人惊讶的是 这将运行和编译 而不会出现警告或不兼容的类型错误
  • 转换日期 (05/12/2011 至 12th)

    我正在尝试将日期转换为日期数字 后跟 st nd rd 或 th 具体取决于日期 我是 JavaScript 新手 所以不知道从哪里开始 E g 2011 年 5 月 1 日 第一2011 年 5 月 2 日 第二次2011 年 5 月 3
  • 强制 selectize.js 仅显示以用户输入开头的选项

    我正在使用 selectize js 目前它看起来像这样 它不仅显示以 arm 开头的单词 还显示在其他位置包含 arm 作为子字符串的单词 或选项 我想强制该函数仅显示以 arm 开头的单词 或选项 我检查了使用文档https githu
  • Spark saveAsTextFile() 写入多个文件而不是一个[重复]

    这个问题在这里已经有答案了 我现在在我的笔记本电脑上使用 Spark 和 Scala 当我将 RDD 写入文件时 输出将写入两个文件 part 00000 和 part 00001 我如何强制 Spark Scala写入一个文件 我的代码目
  • 根据第二个文本文件从文本文件中删除重复项

    如何从文本文件中删除所有行 main txt 通过检查第二个文本文件 removethese txt 什么是有效的方法如果文件大于 10 100mb 使用苹果电脑 Example main txt 3 1 2 5 删除这些行 removet
  • iPhone SDK:如何创建一个在点击位置插入文本的 UITextView?

    我想创建一个 UITextView 您可以点击其中的任何位置并开始在该位置键入 该控件的默认行为是从最后一个字符结束处开始键入 因此 如果我有一个没有文本的 UITextView 并点击控件的中间 我想从那里开始输入 而不是从左上角开始 实
  • 如何合并两个大型数据集,同时在r中生成具有不同重复值的新列

    我有一个让我抓狂的问题 真的需要你的帮助 简化的问题是这样的 d1 lt data table v1 c a b c d d b a c a d b a v2 seq 1 12 V3 rep 1 4 times 3 d2 lt data t
  • Julia:为类型实现标准数学运算

    有没有办法在 julia 中为用户创建的类型实现基本算术 例如 type Foo bar Float32 foo Int32 end a Foo 3 23 23 b Foo 4 56 54 c a b 如果可能的话 我怎样才能做到这一点 提
  • 树视图闪烁,没有任何事件

    我有一个闪烁TreeView我知道这是一个常见问题 事情是TreeView没有事件 是的 我明白 当我从 a 递归添加节点时XmlDocument它有点闪烁 这是正常的 即使所有内容都加载后 我的也会闪烁 当我的鼠标悬停在节点上或单击节点时
  • SFINAE 在类型和非类型模板参数的情况下工作方式不同

    为什么这段代码有效 template lt typename T std enable if t
  • 获取数据表中某一列的行索引

    1 2 3 A B C D E F G H I System Data DataTable dt new DataTable dt Columns Add 1 dt Columns Add 2 dt Columns Add 3 dt Row
  • 在 Mercurial 中编写自定义日志关键字过滤器作为扩展

    我已经检查了有关如何编写 Mercurial 扩展的教程 我想知道如何专门为日志关键字添加过滤器 感谢帮助 我认为一个例子可以最好地解释它 from mercurial import templatefilters def upper s
  • VS2010项目依赖

    我在 VS2010 中有一个 C 项目和一个 C 项目 该项目将使用此 C 项目输出 它将其用于 p invoke 我想我可以通过编辑解决方案中的 项目依赖项 来确保 c 项目在 c 项目之前构建 但这似乎没有任何效果 我的构建服务器上的构
  • 无法在 Windows 10 上使用 docker 访问 localhost:8080

    当运行我的docker compose development yaml在我的电脑上 我无法连接到http localhost 8080 另外 我可以跑步docker compose f docker compose development
  • wpf如何绑定到DataContext存在?

    我在代码中动态设置数据上下文 我希望屏幕上的按钮能够启用 禁用 具体取决于是否DataContext null或不 当我分配 DataContext 时 我可以在代码中执行此操作 但如果我可以像这样绑定那就更好了 您应该能够使用DataTr
  • 通过 .htaccess 更改根文件夹

    我有一个与域名关联的共享托管帐户 根文件夹 如果术语错误请纠正我 设置为 以便服务器上的所有文件都是公共的 可以通过浏览器访问 我可以使用 htaccess 或其他东西将根文件夹更改为类似的内容 example com public 如果我
  • numpy 数组行专业和列专业

    我无法理解如何numpy存储其数据 考虑以下 gt gt gt import numpy as np gt gt gt a np ndarray shape 2 3 order F gt gt gt for i in xrange 6 a
  • 如何用Java将wav文件分成1秒的片段?

    之前我有个问题 Java读取wav文件 https stackoverflow com questions 5210147 reading wav file in java 首先 我想用 Java 读取一个 wav 文件并将其字节处理到一个
  • DataTables 服务器端分页

    我有工作 Spring REST 应用程序与客户端分页 默认由 DataTables 和一切正常 现在我需要将其更改为服务器端分页 我遇到了问题 因为不知道如何从数据表中获取客户端想要查看的页码信息 我在 DT 手册中找不到任何有用的内容