有时数据量太大,不走AJAX载入页面会卡,所以研究了下AJAX的方法和实现。

这玩意儿其实官方说明文档挺清楚的,后来发现国内还有中文版的,所以文末附上链接,有兴趣的自己研究下。
JS方面,dataTable方法里加入参数:

"processing": true,
"serverSide": true,
"ajax": {
"url": ajaxurl,
"dataType": "json",
"type": "POST"
}

因为是用POST方式传递的,GET方式传递URL参数太长不好看。

POSFT传递后台的PHP脚本大概是这样的:

<?php
$draw=intval($_POST['draw'])+1;#第几次数据交互
$length=intval($_POST['length']);#每页长度-用于limit第二个参数
$start=intval($_POST['start']);#起始位置-用于limit第一个参数
$output=array();
$output['draw']=$draw;
$output['recordsTotal']=$count;
$output['recordsFiltered']=$count;
$result=$database->select("sql query");#数据库取出来的数据
foreach($result as $k=>$v){
$tmp=array();
foreach($sql as $key=>$value){
$tmp[]=$result[$k][$value];
}
$output['data'][]=$tmp;
}
echo $_GET['callback']."(";
echo json_encode($output).");";
die();

剩下的自己领悟。

DataTables-AJAX数据交互文档:http://dt.thxopen.com/manual/server-side.html

Related Posts: jQuery表格插件DataTables-AJAX交互数据示例代码与经验 :