bStateSave 选项可用于将 DataTable 的状态保存在 cookie 中。
我想在注销时清除此 cookie。
目前,我从浏览器中检查了 cookie 的名称,并在注销时使用 PHP setcookie() 更改了它的到期日期,并用硬编码名称。它可以工作,但有点难看,因为我不知道如何从 API 中检索 cookie 名称。
有没有合适的方法来做到这一点?
谢谢
bStateSave 选项可用于将 DataTable 的状态保存在 cookie 中。
我想在注销时清除此 cookie。
目前,我从浏览器中检查了 cookie 的名称,并在注销时使用 PHP setcookie() 更改了它的到期日期,并用硬编码名称。它可以工作,但有点难看,因为我不知道如何从 API 中检索 cookie 名称。
有没有合适的方法来做到这一点?
谢谢
我不知道你是否已经得到答案,但这是我使用的。
有一个用于初始化 DataTables 的属性,称为:iCookieDuration。您应该做的是设置以秒为单位的“cookie持续时间”
那么你有:
$('.datatable').dataTable({
"iCookieDuration": 60*60*24,// 1 day (in seconds)
});
然后您设置一个您认为最佳的时间。希望能帮到你!!
DataTables 中的状态保存是通过将 JSON 字符串保存到 cookie 来完成的,允许它尽可能保持浏览器兼容性,同时将状态存储在客户端。有时,能够修改由表保存的参数会很有用。
如果您想在注销时清除数据表状态,那么我建议您简单地清除存储。
Storage 接口的removeItem()
方法,当传递一个键名时,将从存储中删除该键。
function populateStorage() {
localStorage.setItem('bgcolor', 'red');
localStorage.setItem('font', 'Helvetica');
localStorage.setItem('image', 'myCat.png');
localStorage.removeItem('image');
}
或者
只需在退出操作时用 javascript 编写即可。
echo '<script type="text/javascript">localStorage.clear();</script>';
IE
<script type="text/javascript">localStorage.clear();</script>
我唯一能想到的是:
fnCookieCallback
来自http://datatables.net/ref
您可以将 cookie 设置为现在的过期时间并保存。我不知道这是否有帮助,但希望你能找到答案:)