datatables ajax异步分页
$('#sample_1').dataTable({
"sAjaxSource": "../table/data",
// "bProcessing": true,
"bServerSide": true,
"fnServerData": function ( sSource, aoData, fnCallback ) {
console.log(111)
console.log(JSON.stringify(aoData));
$.ajax( {
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
} );
},
"bDeferRender": true,// 是否启用延迟加载:当你使用AJAX数据源时,可以提升速度。默认值:False
// "aaData": [
// /* Reduced data set */
// [ "Trident", "Internet Explorer 4.0", "Win 95+", 4, "X" ],
// [ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ],
// [ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ],
// [ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ],
// [ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ],
// [ "Gecko", "Firefox 1.5", "Win 98+ / OSX.2+", 1.8, "A" ],
// [ "Gecko", "Firefox 2", "Win 98+ / OSX.2+", 1.8, "A" ],
// [ "Gecko", "Firefox 3", "Win 2k+ / OSX.3+", 1.9, "A" ],
// [ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ],
// [ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ],
// [ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ],
// [ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ]
// ],
"aoColumns": [
{ "bSortable": false },
null,
{ "bSortable": false },
null,
{ "bSortable": false },
{ "bSortable": false }
],
"aLengthMenu": [
[5, 15, 20, -1],
[5, 15, 20, "All"] // change per page values here
],
// set the initial value
"iDisplayLength": 5,
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"sPaginationType": "bootstrap",
"oLanguage": {
"sLengthMenu": "_MENU_ records per page",
"oPaginate": {
"sPrevious": "Prev",
"sNext": "Next"
}
},
"aoColumnDefs": [{
'bSortable': false,
'aTargets': [0]
}
]
});
@RequestMapping("/data")
@ResponseBody
public PageResult data(HttpServletRequest request,@ModelAttribute PageRequest pageRequest){
//
PageResult result = new PageResult();
JSONArray aaData = new JSONArray();
for (int i = pageRequest.getiDisplayStart(); i < pageRequest.getiDisplayStart()+pageRequest.getiDisplayLength(); i++) {
JSONArray row = new JSONArray();
row.add("a"+i);
row.add("b"+i);
row.add("c"+i);
row.add("d"+i);
row.add("e"+i);
row.add("f"+i);
aaData.add(row);
}
result.setAaData(aaData);
result.setSEcho(pageRequest.getsEcho()+1);
result.setITotalRecords(30);
result.setITotalDisplayRecords(30);
return result;
}
import com.alibaba.fastjson.JSONArray;
public class PageResult {
private Integer sEcho;//
private Integer iTotalRecords;//实际的行数
private Integer iTotalDisplayRecords;//过滤之后,实际的行数。
private String sColumns;//可选,以逗号分隔的列名,;
private JSONArray aaData;
public PageResult() {
super();
}
public Integer getSEcho() {
return sEcho;
}
public void setSEcho(Integer sEcho) {
this.sEcho = sEcho;
}
public Integer getITotalRecords() {
return iTotalRecords;
}
public void setITotalRecords(Integer iTotalRecords) {
this.iTotalRecords = iTotalRecords;
}
public Integer getITotalDisplayRecords() {
return iTotalDisplayRecords;
}
public void setITotalDisplayRecords(Integer iTotalDisplayRecords) {
this.iTotalDisplayRecords = iTotalDisplayRecords;
}
public String getSColumns() {
return sColumns;
}
public void setSColumns(String sColumns) {
this.sColumns = sColumns;
}
public JSONArray getAaData() {
return aaData;
}
public void setAaData(JSONArray aaData) {
this.aaData = aaData;
}
}
public class PageRequest {
private int sEcho;//页数
private int iColumns;//
private String sColumns;
private int iDisplayStart;//开始行数
private int iDisplayLength;//结束行数
public int getsEcho() {
return sEcho;
}
public void setsEcho(int sEcho) {
this.sEcho = sEcho;
}
public int getiColumns() {
return iColumns;
}
public void setiColumns(int iColumns) {
this.iColumns = iColumns;
}
public String getsColumns() {
return sColumns;
}
public void setsColumns(String sColumns) {
this.sColumns = sColumns;
}
public int getiDisplayStart() {
return iDisplayStart;
}
public void setiDisplayStart(int iDisplayStart) {
this.iDisplayStart = iDisplayStart;
}
public int getiDisplayLength() {
return iDisplayLength;
}
public void setiDisplayLength(int iDisplayLength) {
this.iDisplayLength = iDisplayLength;
}
}
datatables ajax异步分页的更多相关文章
- 5.Hibernate实现全套增删改查和ajax异步分页
1.1 创建如下oracle数据库脚本 drop sequence seq_stu; create sequence SEQ_STU minvalue maxvalue start increment ...
- 利用Linq + Jquery + Ajax 异步分页的实现
在Web显示的时候我们经常会遇到分页显示,而网上的分页方法甚多,但都太过于消耗带宽,所以我想到了用Ajax来分页,利用返回的Json来处理返回的数据, 大大简化了带宽的压力. 先说下思路,无非就是异步 ...
- DataTables ajax + bootstrap 分页/搜索/排序/常见问题
最近学校的网站建设需要,尝试使用了下Jquery dataTables控件,接触过C#的人都知道,C#中也含有一个DataTable,但它和我们今天讨论的东西无关 我使用的是官网最新的DataTabl ...
- 项目开发之分页---异步分页(ajax)
PS:前面忘了给大家讲解后台需要做的 ,同步分页的时候,我们只需要定义一个方法,给前台传递一个page对象,前台接收到直接展示即可:异步分页要多一步,首先还是写一个方法,传递初始对象,后面的ajax返 ...
- jQuery+Ajax+PHP实现异步分页数据显示
这几天做毕业设计的时候需要使用到一个异步分页的功能,即翻页的时候只是刷新分页的数据而不是刷新整个页面.因为之前做项目的时候没有做过这方面的功能,所以还是纠结了挺长时间的,在网上也找了很多资料,结合自己 ...
- Datatables插件1.10.15版本服务器处理模式ajax获取分页数据实例解析
一.问题描述 前端需要使用表格来展示数据,找了一些插件,最后确定使用dataTables组件来做. 后端的分页接口已经写好了,不能修改.接口需要传入页码(pageNumber)和页面显示数据条数(pa ...
- jquery 分页 Ajax异步
//使用Ajax异步查询数据 <div class="table-responsive"> <table class="table table-bord ...
- python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)
python操作mysql⑥新闻管理后台功能的完善(增.删.改.查)安装表单验证D:\python\python_mysql_redis_mongodb\version02>pip instal ...
- 基于layerpage 前后端异步分页
#下载jquery 和 layerpage1.核心分页方法 laypage({ cont: 'page1', //容器.值支持id名.原生dom对象,jquery对象. pages: json.tot ...
随机推荐
- C++ 函数后面的const
一个函数 AcGePoint3dstartPoint() const; const放在后面跟前面有区别么 ==> 准确的说const是修饰this指向的对象的 譬如,我们定义了 classA{ ...
- 使用Monkey对apk做稳定性测试
认识Monkey 官方文档:https://developer.android.com/studio/test/monkey.html 什么是Monkey? Monkey是Android中的一个命令行 ...
- 21-THREE.JS 将法线矢量映射到RGB颜色的材质
<!DOCTYPE html> <html> <head> <title></title> <script src="htt ...
- UI-不常用控件 UIActivityIndicatorView、UIProgressView、UISegmentedControl、UIStepper、UISwitch、UITextView、UIAlertController
1 //UIActivityIndicatorView //小菊花,加载================================================================ ...
- redis 内存库设置 教你怎么解决64位Windows版Redis狂占C盘的问题.
http://blog.csdn.net/renfufei/article/details/41180007 # heapdir指定内存映射文件路径名,不能是文件名 # heapdir <dir ...
- L126
Like so many things, it is not what's outside, but what is inside that counts. 许多事物都是如此,外表看起來虽不起眼,但是 ...
- slab机制总结篇
一: slab是为了解决内部碎片提出的,还是外部碎片? 为了解决内部碎片. 内部碎片的产生:因为所有的内存分配必须起始于可被 4.8 或 16 整除(视处理器体系结构而定)的地址或者因为MMU的分页机 ...
- git合并分支与解决冲突
前提: 当前开发的分支为feature/20161129_317606_algoplatform_1,由于feature/20161130_322574_tmstools_1分支有新内容,所以准备将f ...
- js实现checkbox组 全选和取消全选
做后台管理程序时,用到一个checkbox组的全选和取消全选的功能, 主要是逻辑上的坑,理清后大概是: 1.全选点击后,小弟1~4都要选上,点击取消,小弟们也要取消 2.只要有一个小弟取消时,全选要取 ...
- 题目一:给出一个n,代表有从1到n的数字[1,2,3,··· n],问可以构成多少种二叉搜索树?
题目一:给出一个n,代表有从1到n的数字[1,2,3,··· n],问可以构成多少种二叉搜索树? 一开始的想法是直接递归构造,时间复杂度是指数上升:后来想法是找规律:先看例子: n = 1, 有一个元 ...