84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
当配置了 ajax 后,我每次执行rerender后都重新请求数据,导致本来时第三页的,但重新渲染了后变回第一页了,有办法只重新渲染不重新请求ajax数据吗,或重新请求时仍然是第三页
datatable我用的比较多,结合你提供的信息
ajax重新获得当前页码的数据
var dt = $('#datatable').DataTable({ ... }); dt.ajax.reload(null, false); //记得这两个参数
F5之后,仍然保持当前的页码,这需要用一点技巧,使用localhost.hash保存页码、排序等数据
localhost.hash
条件:
加载 Hash 的便捷操作工具: https://github.com/cowboy/jquery-bbq
https://github.com/cowboy/jquery-bbq
如下操作
var _config = { displayStart: 0, pageLength: 10, order: [], drawCallback: function( settings ) { //绘制好之后,将状态写到Hash上面,翻页,排序的时候也会保持状态 var config = { displayStart: settings._iDisplayStart, pageLength: settings._iDisplayLength, search: {search: settings.oPreviousSearch.sSearch}, order: [] }; settings.aLastSort.forEach(function(v){ config.order.push([v.col, v.dir]); }); $.bbq.pushState(config); }, ..... }; var config = $.bbq.getState(); config = $.extend(true, _config, config); var dt = $('#datatable').DataTable(config);
datatable我用的比较多,结合你提供的信息
重新当前页的数据
ajax重新获得当前页码的数据
F5刷新页面
F5之后,仍然保持当前的页码,这需要用一点技巧,使用
localhost.hash
保存页码、排序等数据条件:
加载 Hash 的便捷操作工具:
https://github.com/cowboy/jquery-bbq
如下操作