2016-04-29 107 views
-1

我想在我的HTML页面上每秒刷新表格而没有闪烁。我正在使用JavaScript和Ajax来尝试实现这一点。ajax html javascript页面刷新没有闪烁问题

这里是我的脚本

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

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

我的表是id="dt"class="sorttable"一切,我需要更新是在div="div1"

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

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

+0

那么,什么是不工作,你期望的方式?你有什么问题? – WillardSolutions

+0

嗯感谢您的编辑......我不明白为什么这是必要的,但确定 解决方案的任何想法? 我相信我错过了一些代码,但不知道该去哪里。 对不起,问题是,div是不爽。我只是使用java脚本来做到这一点,但想要一个更加无缝的方式,而不需要整个页面刷新 – BarryWhite

+0

编辑是为了突出显示句子中的代码元素,以便人们更快地理解。它应该可以帮助你获得更好/更快的答案。 – ADyson

回答

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$table.fnDraw(); OR table.fnReloadAjax();,它应该只是工作同样出色

这里有一个plunk已经做了你所需要的。我已将刷新率设置为3秒。转到任何其他页面,以便您可以看到刷新操作,否则当数据没有更改时,您可能无法看到任何更改。我认为重新装入方法需要参数才能保留分页。您可能需要查看该文档

+0

圣莫利我忘记了图书馆。现在这样做,会让你知道,谢谢! – BarryWhite

+0

OK库已存在,但仍无法运行。 在此上画一张空白... 仍然没有刷新表发生。 – BarryWhite

+0

在调用之前加载库我想?如果发布了更多的代码,那么将更容易理解。可以做的一件事是添加一个按钮并使用刷新代码。如果它刷新然后使用相同的setInterval方法 –

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,假); //用户呼叫时不复位重装

编号:Datatable server side processing