jQuery 数据表的 Ajax 数据源和服务器端数据源有什么区别?



数据表服务器端处理

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

数据表AJAX源代码

$(document).ready(function() {
    $('#example').dataTable( {
        "bProcessing": true,
        "sAjaxSource": '../ajax/sources/arrays.txt'
    } );
} );

唯一的区别是"bServerSide":true

的行为相同,那么这两个数据源

的区别是什么呢?

是两个数据源

的例子http://datatables.net/release-datatables/examples/server_side/server_side.html

http://datatables.net/release-datatables/examples/data_sources/ajax.html

两者的行为相同

不,他们没有:-)。使用bServerSide: true,所有处理(排序,过滤等)都在服务器上完成(通常由SQL引擎)。如果没有bServerSide: true,那么所有的处理都是由数据表在客户端完成的。

使用服务器端处理的最大优点是,您可以利用SQL引擎进行提升,这正是它的设计目的,因此表可以处理几乎无限的行(仅受服务器限制)。缺点是每次绘制表都需要一个Ajax请求。

相反,对于客户端端处理,所有数据都在客户端本地,因此没有延迟。然而,数据的处理是在Javascript中完成的,随着表变大,处理数据的时间会明显变长。

在文档中有更多关于数据表的数据源类型的信息:http://datatables.net/usage/#data_sources

艾伦

最新更新