首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在使用ajax实现时在可数据中添加页长

如何在使用ajax实现时在可数据中添加页长
EN

Stack Overflow用户
提问于 2020-11-26 01:18:05
回答 2查看 1.8K关注 0票数 0

我试图用ajax实现将pageLength添加到我的数据表中,但是当我试图查看结果时,它会返回大量数据,而不是对每个页面的数据进行切片。请看下面的代码。

JS

代码语言:javascript
运行
复制
$('table.dataTableAjax').DataTable({
  "processing": true,
  "serverSide": true,
  "paging": true,
  "pageLength": 50,
  "ajax": "..."
});

我也尝试了下面的代码,但仍然不能正常工作。

代码语言:javascript
运行
复制
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]

来自服务器端的示例数据

代码语言:javascript
运行
复制
{
    "data":[
        { "name": "Bob" },
        { "name": "Billy" }
    ]
}

在我的服务器端,我正在抛出500+数据行。

因此,当前的结果是,它返回所有500+表行,而不是每页50个表行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-26 01:40:00

在datatable配置中,您可能将serverSide属性配置为"true“。如果启用它,服务器应该负责限制需要发送的行数。您可以尝试禁用serverSide选项并查看。

代码语言:javascript
运行
复制
$('table.dataTableAjax').DataTable({
  "processing": true,
  "serverSide": false,
  "paging": true,
  "pageLength": 50,
  "ajax": "..."
});
票数 2
EN

Stack Overflow用户

发布于 2020-11-26 01:59:55

"serverSide": true,阅读了服务器端处理https://datatables.net/manual/server-side的手册,特别是关于lengthstart的内容

所有的处理、行限制、过滤、分页等都是在服务器端脚本中实现的。

下面是一个用于服务器端数据处理的示例php脚本,但我不确定您使用的是哪个版本。(这是遗留数据版本) https://legacy.datatables.net/examples/data_sources/server_side.html

在后端需要实现的一些例子如下所示。

代码语言:javascript
运行
复制
<?php 

// Build your query up here
$query = "select * from some_table where blah ":

// For paging
// If the request supplied a place to start
if ( isset( $request['start'] ) && $request['length'] != '-1' ) {
    // Add a limit section to your query
    $query = $query . "LIMIT $request['start'],$request['length'] ";

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65014870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档