2016-04-29 381 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