我目前开始使用数据表 ( https://datatables.net ) 创建表。
表中的数据是通过socket.io从服务器获取的。
我的问题是当socket.io添加数据时,表没有“更新”,它说它只有1个条目,并且搜索框仅适用于添加的最后一个元素。
这是我的代码示例:
socket.on('jobStepsResponse', function(message) {
document.getElementById('listOfJobs').style.display = 'none';
document.getElementById('contentJob').style.display = 'block';
document.getElementById('jobid').innerHTML = "<button onClick=returnToJobList()>Retour</button> Job "+message.idJob;
for(var i=0;i<Object.keys(message.status).length;i++){
document.getElementById('tabstats').innerHTML += '<tr><td>'+Object.keys(message.status)[i]+'</td>'+'<td>'+ts2time(message.status[Object.keys(message.status)[i]])+'</td>'+'</tr>';
}
$(document).ready(function() {$('#example2').DataTable();} );
setInterval( function () { $('#example2').DataTable().ajax.reload( null, false ); }, 1000 );
});
正如你所看到的,我尝试使用ajax重新加载,但我认为它适用于ajax数据源,所以它不起作用。
最佳答案
作为解决方法,我首先等待表完全填充,调用 Datatables 样式,它将计算所有添加的元素。
唯一的问题是它有时会显示未格式化的数据,因此您需要添加一个 DOM 控件来显示加载的内容。
关于javascript - 将 Datable 与 Nodejs socket.io 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36356356/