javascript - 将 Datable 与 Nodejs socket.io 一起使用

标签 javascript ajax node.js socket.io datatables

我目前开始使用数据表 ( 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/

相关文章:

javascript - 从中心到 Angular 落填充按钮背景颜色,当将按钮保留为从 Angular 落到按钮中心的背景颜色时,填充为圆形

c# - 如何解决 jsonp 中未捕获的语法错误

javascript - Google bot 是否执行并遵循绑定(bind)到 onclick 处理程序的 AJAX 请求?

javascript - 使 d3 强制布局与标记数据一起使用

javascript - 从 boostraped 扩展创建新选项卡

mysql - Knockout.js 从 mysql 数据库更新值

javascript - 所需的防伪表单字段 __requestverificationtoken 不存在 ajax 调用时出错

node.js - 错误 : Configuration property "mongoURI" is not defined

mysql - 带有 Typescript 和 Mysql 的 Node.js 测试路由模拟服务

javascript - 在 Node.js 中使用异步模块的问题