Javascript 使用分页时如何从DataTables.net获取所有数据行

Javascript 使用分页时如何从DataTables.net获取所有数据行,javascript,jquery,datatables,jquery-datatables,datatables-1.10,Javascript,Jquery,Datatables,Jquery Datatables,Datatables 1.10,我知道我可以使用函数fnGetData(),但这只能获取我所在页面的数据。我想获取所有数据,即使是当前未显示的页面。我的目的是获取所有纬度和经度字段,以便使用GoogleMapsV3将其显示在地图上 我有这段代码,但同样,它只获取当前页面的数据 var table = $('#example1 table').dataTable(); var data = table.fnGetData(); console.log(data); 我以前用

我知道我可以使用函数fnGetData(),但这只能获取我所在页面的数据。我想获取所有数据,即使是当前未显示的页面。我的目的是获取所有纬度和经度字段,以便使用GoogleMapsV3将其显示在地图上

我有这段代码,但同样,它只获取当前页面的数据

var table = $('#example1 table').dataTable();
            var data = table.fnGetData();   
            console.log(data);
我以前用过它,我想我可以给你一个片段:

var table = $('#table ').DataTable(
{
                        "dom" : 'rtp', // Initiate drag column
                        "fnDraw" : false,
                        "serverSide": true,
                        "ajax" : ... ...
                            }
                        }),
                      "fnDrawCallback" : drawCallBack,
});

unction drawCallBack() {
    console.log(this.fnSettings().fnRecordsTotal());
}

启用服务器端处理时(
“服务器端”:true
),实际上1.9.x函数和1.10.x函数都只返回当前页面的数据

可以通过在控制台中查看和运行
$('#示例').dataTable().fngedata()
$('#示例').dataTable().data()
来确认此行为

为了检索所有数据,您需要发出一个单独的AJAX请求,模仿DataTables的行为

由于您的问题被标记为
datatables-1.10
,我假设您使用的是datatables 1.10.x。您可以使用,它获取DataTables在上一个Ajax请求中提交给服务器的数据

function processAllRecords(){
   var req = $('#example1 table').DataTable().ajax.params();

   // Reset request parameters to retrieve all records
   req.start = 0;
   req.length = -1;
   req.search.value = "";

   // Request data
   $.ajax({
      'url': 'script.php',
      'data': req,
      'dataType': 'json'
   })
   .done(function(json){
      // json.data is array of data source objects (array/object),
      // one for each row
      console.log(json);
   });
}

这不是它的记录方式。建议创建一个演示来展示这种行为。您的代码可以立即在1.9.x和1.10.x中运行
fngedata
不带参数返回一个数组,其中所有行都将每行列值作为子数组保存。
function processAllRecords(){
   var req = $('#example1 table').DataTable().ajax.params();

   // Reset request parameters to retrieve all records
   req.start = 0;
   req.length = -1;
   req.search.value = "";

   // Request data
   $.ajax({
      'url': 'script.php',
      'data': req,
      'dataType': 'json'
   })
   .done(function(json){
      // json.data is array of data source objects (array/object),
      // one for each row
      console.log(json);
   });
}