数据表与AJAX分页

时间:2014-03-05 09:52:40

标签: jquery ajax datatables initialization

是否可以将数据表设置为paginate,但只加载从服务器显示的n个条目? (通过Ajax请求)。

换句话说,每次重新排序或单击“下一个条目”时,都会向服务器发出一个小请求,以加载要显示的新条目。从而最小化初始加载时间。

我是否可以通过初始化执行此操作,以便它适用于我网站中的所有数据表?

2 个答案:

答案 0 :(得分:-1)

由于您没有提供任何代码,我将无法做出完整的答案。但是,您应该创建一个jquery插件:

(psedo代码)

$.fn.tablePagination = function(option) {
    var self = this;
    $.ajax({
       url: option.url
       success: function(data){
         self.html(createTable(data));
      })
    });
}

然后使用它:

$(".tabable").tablePagination({url: "your/server/tableId"});

答案 1 :(得分:-1)

当然,这对于jquery-dataTables来说很酷。

看看这个例子(针对PHP和MySQL)。Server sided Data with sorting and pagination

这开箱即用。您需要做的是将MySQL字段输入到此PHP行:

 $aColumns = array( 'engine', 'browser', 'platform', 'version', 'grade' );

如果您使用的是Node / mongoDB或任何其他服务器端脚本,则必须编写自己的代码。 但基本上是:

  1. 您将网址设置为服务器代码
  2. 您从任务数据源(db,json文件或其他)中获取数据,这些数据源由请求中的dataTables值设置(actual_Pagenumber,Items_per_page,列的排序,过滤)。只需使用firebug控制台查看典型请求即可。
  3. 将json编码的数据返回给客户端(在echo json_encode( $output );的PHP / MySql中。在node / mongo中只是查询的结果。