我有一个带有setInterval
函数的数据表,每1秒加载一次内容。我的问题是,Chrome浏览器网络缓存会随着每次加载而增加。有时只有几kb,但如果有更多的加载,即200行,而不是每次加载,即2 MB。这将增加此选项卡和chrome的内存使用量。
我有php基于mysql数据库调用生成一个json。此数据可以更改,即更新,删除或添加。我的时间戳是专栏date_update
是否有办法在初始加载时加载所有数据,而且只在内容发生变化时加载(date_update
大于上次生成的时间戳)?类似心跳或信标功能的东西,检查是否有比XY时间戳更旧的内容,如果是,请加载它?
我正在使用这个常规功能:
var MyTable = $('#MyTable').DataTable({
"order": [[ 3, "desc" ]],
responsive: true,
"ajax": {
url: './includes/myDataFile.php',
method: 'POST',
dataType: 'json',
contentType: 'application/json',
dataSrc: ""
},
paging: false,
scrollY: 250,
sort: true,
filter: false,
select: { style: 'single'},
width: '100%',
'columns': [
{
'data': 'id'
},
{
'data': 'name'
},
{
'data': 'start'
},
{
'data': 'end'
},
{
'data': 'count'
},
{
'data': 'status'
},
{
'data': 'date_update',
visible: false
}
],
});
setInterval(function() {
$('#MyTable').DataTable().ajax.reload(null, false); // user paging is not reset on reload
}, 1000);
});