jQuery DataTables 和初始数据加载

Posted

技术标签:

【中文标题】jQuery DataTables 和初始数据加载【英文标题】:jQuery DataTables and Initial Data Load 【发布时间】:2011-11-18 09:42:26 【问题描述】:

我在 jQuery Datatable 论坛上问过这个问题,但没有多大帮助。如果有人使用过 jQuery 数据表并通过在请求选项时设置初始数据来使其工作,并且没有让第 1 页的 ajax 调用发出。当我的 sAjaxSource 在初始化阶段设置时,它会自动再次发出请求即使我使用数据对其进行了初始化,也要加载数据。

http://datatables.net/forums/discussion/6459/load-initial-data-without-ajax-call#Item_3

【问题讨论】:

【参考方案1】:

I think you are looking for the iDeferLoading feature.

$(document).ready(function() 
    $('#example').dataTable( 
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "scripts/server_processing.php",
        "iDeferLoading": 57
     );
 );

更新:我刚刚在论坛中阅读了您的问题。也许您的问题毕竟不是那么简单,但我需要查看您的数据表设置,以便为您提供更明智的意见。

我在生产环境中使用数据表,并且对 API 有所了解;但同样,如果不查看您的设置并准确了解您的第二个 ajax 调用的处理方式,则很难提供帮助。我将把这个答案留在这里,因为它的价值。

【讨论】:

我认为您实际上明白了这一点:当页面加载时,他不想要一个 ajax 调用,而这正是我认为您的解决方案所得到的结果 在我回到这篇文章之前,我实际上发现了 iDeferLoading,但它确实有效。但它是 iDeferLoading: true,而不是 57。 @Mike Flynn 我从数据表网站发布了这段代码。我自己不使用 iDeferLoading 功能,但这样称呼很奇怪,因为 iDeferLoading 中的 i 代表 integer 所以它应该是一个 int。也许您指的是bDeferLoading 参数(b 代表布尔值)?我相信这两个参数都是有效的,并且每个都有不同的用途。 iDeferLoading 只是告诉数据表最初加载了多少条记录而不发出 ajax 请求,以便分页控件可以显示正确的计数和分页(如 57 行中的第 1-10 页) 不,你是对的。我想通了,但忘了更新这篇文章。

以上是关于jQuery DataTables 和初始数据加载的主要内容,如果未能解决你的问题,请参考以下文章

请教jquery一个页面渲染两个datatables总是出现其中一个table加载不成功导致

jQuery DataTables 初始化延迟

如何使用 jquery.datatable 显示空表

JQuery1.8 Datatables单击按钮保存状态

使用 jQuery DataTables 恢复原始排序顺序

初始化 jQuery DataTables 时,引导工具提示不是功能