ajax html javascript页面刷新没有闪烁问题

时间:2016-04-29 15:18:25

标签: javascript ajax html5

我试图在我的HTML页面上每秒刷新一次表而没有闪烁。我正在使用javascript和ajax来尝试实现这一点。

这是我的脚本

var table = $('#dt').DataTable( {
                        ajax: "data.json"
                    } );

                    setInterval( function () {
                        table.ajax.reload();
                    }, 1000 );

我的表格为id="dt"class="sorttable"我需要更新的所有内容都在div="div1"

我需要它每秒更新一次以显示新的活动连接。

非常感谢任何帮助或建议。

2 个答案:

答案 0 :(得分:0)

究竟什么不能使用你的代码因为它对我来说似乎没问题?以下代码应该可以正常工作。

var table = $('#dt').DataTable( {
    ajax: "data.json"
} );

setInterval( function () {
    table.ajax.reload( null, false ); // user paging is not reset on reload
}, 1000 );

我添加了参数,以便保留分页。顺便说一下,我希望你包括jQuery库?而且我猜你也可以用table.ajax.reload OR $table.fnDraw();替换table.fnReloadAjax();,它应该同样有效

这是plunk,可以满足您的需求。我已将刷新率设置为3秒。转到任何其他页面,以便您可以看到正在执行的刷新,否则您可能无法看到任何更改,因为数据没有更改。我认为重新加载方法需要参数以保留分页。您可能需要查看该文档

答案 1 :(得分:0)

您需要将serversid选项设置为true,以便对数据表进行serer端处理。

$(document).ready(function() {
    var sunixi=$('#sunixi').DataTable( {
        "processing": true,
        "serverSide": true,
        "ajax": "../server_side/scripts/server_processing.php"
    } );
//reload the datatable after 30 secs
    setInterval(function(){
          sunixi.ajax.reload();//user paging will be reset on reload
     }, 3000);
} );

sunixi.ajax.reload(null,false); //重新加载时不重置用户分页

参考:Datatable server side processing