dataTables分页页码缓存、搜索缓存问题

由于设置s tateSave参数为true, dataTables每次分页信息从web store中获取,导致表格展现出错误的页码(上一次请求页码)。
解决办法: s tateSave:false。
代码分析:
[javascript]  view plain  copy
 
  1. if ( oInit.bStateSave )  
  2. {  
  3. features.bStateSave = true;  
  4. _fnLoadState( oSettings, oInit );  
  5. _fnCallbackReg( oSettings, 'aoDrawCallback', _fnSaveState, 'state_save' );  
  6. }  

--------------------------------------------------------------------------------------------------------------------------------
_fnLoadState()函数分析:
[javascript]  view plain  copy
 
  1. //从缓存中取上次页码信息(state),  
  2. var state = settings.fnStateLoadCallback.call( settings.oInstance, settings );  
  3. if ( ! state || ! state.time ) {  
  4. return;  
  5. }  
  6.   
  7. //state与ajaxData封装成新setttings,setting中包含:dataTables所有参数数据、ajaxData数据、当前分页信息等。  
  8. // Restore key features - todo - for 1.11 this needs to be done by  
  9. // subscribed events  
  10. settings._iDisplayStart    = state.start;  
  11. settings.iInitDisplayStart = state.start;  
  12. settings._iDisplayLength   = state.length;  
  13. settings.aaSorting = [];  
  14.   
  15. _fnCallbackFire( settings, 'aoStateLoaded''stateLoaded', [settings, state] );  
 

--------------------------------------------------------------------------------------------------
_fnSaveState(stttings)函数分析
[javascript]  view plain  copy
 
  1. // bStateSave=true,取出缓存state.否则直接返回  
  2. if ( !settings.oFeatures.bStateSave || settings.bDestroying )  
  3. {  
  4. return;  
  5. }  
  6.   
  7. /* Store the interesting variables */  
  8. var state = {  
  9. time:    +new Date(),  
  10. start:   settings._iDisplayStart,  
  11. length:  settings._iDisplayLength,  
  12. order:   $.extend( true, [], settings.aaSorting ),  
  13. search:  _fnSearchToCamel( settings.oPreviousSearch ),  
  14. columns: $.map( settings.aoColumns, function ( col, i ) {  
  15. return {  
  16. visible: col.bVisible,  
  17. search: _fnSearchToCamel( settings.aoPreSearchCols[i] )  
  18. };  
  19. } )  
  20. };  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值