我的数据表以这种方式声明:
"processing": true
,"serverSide": true
,"stateSave":true
,"stateDuration": 60*60*24
,"ajax":{
"url":"/approval/search.json"
,"type":"post"
}
我的代码清除状态:
if(page doesn't exist){
table.state.clear();
table.draw()
}
我不知道怎么判断页面是否不存在。我已经尝试了table.page.info(),但无论页面是否有信息,它显示的数据都是相同的。
答案 0 :(得分:0)
经过SO MUCH的试验和错误,我终于成功了:
,"fnDrawCallback":function(){
if(table.row().data()===undefined){
table.state.clear();
location.href=url
}
}
答案 1 :(得分:0)
数据表更新版本的更新答案:
drawCallback: function (settings) {
let api = this.api();
// fix pagination if saved page is empty
if (api.page() > 0 && api.rows({page: 'current'}).count() === 0) {
api.page('previous').state.save();
location.reload();
}
}
如果当前页面不存在,这会将状态设置为上一页,然后重新加载页面。
答案 2 :(得分:0)
我可能使用了先前的答案并进行了更改。它对我来说很完美:
drawCallback: function (settings) {
let api = this.api();
var info = api.page.info();
if (info.pages!=0 && (api.page() > 0 && api.rows({page: 'current'}).count() === 0)) {
api.page('first').state.save();
window.location.reload();
}
}