jquery - 如何使用 json 文件对我的数据表进行服务器端处理?
问题描述
这是我使用 json 文件的数据表:
var table = $('.table').DataTable({
"lengthMenu": [[10, 25, 50,100, -1], [10, 25, 50,100, "All"]],
"pageLength": 10,
"data":{{ output.data|raw }},
它像这样工作得很好。
为了更快地获取数据表,我添加了以下几行:
var table = $('.table').DataTable({
"serverSide": true,
"lengthMenu": [[10, 25, 50,100, -1], [10, 25, 50,100, "All"]],
"pageLength": 10,
"data":{{ output.data|raw }},
"processing": true,
现在我得到了错误
DataTables 警告:表 id=DataTables_Table_0 - 无效的 JSON 响应
json 直接来自带有数据的 json 文件。
解决方案
该选项的文档serverSide
说明:
DataTables 有两种基本的操作模式:
客户端处理——过滤、分页和排序计算都在网络浏览器中执行。
服务器端处理——过滤、分页和排序计算都由服务器执行。
serverSide: true
意味着原始数据作为一个整体在客户端上不存在。客户端仅保存从 HTTP 端点发送的数据的排序和分页视图,这些端点用于将这些页面传达给客户端。
如果您将所有数据发送到客户端,您可能不打算使用服务器端处理。
如果您的问题是数据的排序和分页速度太慢(因为您的数据包含数百或数千条记录),那么您可能确实希望切换到服务器端处理。第一步是停止指定data
选项,而是使用ajax
带有目标 URL 的选项。然后,您需要在 URL 处编写一个服务器端端点,以便在请求时执行必要的转换。请参阅有关服务器端处理的 DataTables 示例文档以开始使用。
推荐阅读
- list - Turning list of integers into string in OCaml
- nlp - Porter and Lancaster stemming clarification
- java - Spring Boot CRUD 操作创建 web 服务配置
- yugabyte-db - 如何配置 yugabytedb 进行严格的序列化?
- c# - 如何从 Web API 控制器的 HttpPost 异步方法返回任务将错误消息传递给客户端
? - php - Symfony:不支持格式“html”,必须实现处理程序
- angular - 我无法从 Angular 的数组中获取字符串值
- r - geom_point,按因子着色
- html - :nth-child 不适用于相同类名的元素
- reactjs - 如何在reactjs的水平菜单中为列表提供导航