我使用bootstrap表来显示来自MongoDB的数据,使用mongoid查询。我想以5分钟的间隔刷新桌子。我已经阅读了文档,但是对Javascript不熟悉,我不知道如何实现这一点 - 无论是使用Ajax调用还是使用setTimeout()函数等。
这是我的表格代码:
<table id="table" data-show-refresh="true" data-row-style="rowStyle" data-toggle="table" data-url="http://maccdx160121:4567/api/v1/currentsat*">
<thead>
<tr>
<th data-field="initials">Initials</th>
<th data-cell-style="cellStyle" data-field="sector">Sector</th>
<th data-field="cjs">CJS</th>
</tr>
</thead>
</table>
这是我的Mongoid查询,如果它有帮助:
get '/currentsat*' do
#SatTransaction.where( current: true, :initials.ne => nil, :position.in => ["RDR", "SPVR", "OJI"] ).to_json
SatTransaction.where( current: true, :shift_duration.ne => 0, ).and(SatTransaction.or({:position.in => ["SPVR", "RDR", "OJI"]},{sector: "BREAK"}).selector).to_json
end
end
before do
cache_control :no_cache
end
def with_captured_stdout
old_stdout = $stdout
$stdout = StringIO.new('', 'w')
yield
$stdout.string
ensure
$stdout = old_stdout
end
感谢您的帮助!!
答案 0 :(得分:0)
我认为你删除了表并重新创建:
setInterval(function(){
$('#table').remove();
$('#Table_Parent').append(Table_Html);
}, 5000);
答案 1 :(得分:0)
我认为你需要做到这两点。您需要使用ajax从服务器获取数据,然后将其重新加载到数据表中。
只刷新数据表只会重新加载html中的数据,但需要刷新,因为它会重新加载chaged数据。
作为@Farzin Kanzi代码,在设置超时时间内进行ajax调用并重新加载服务器数据
setInterval(function(){
$.ajax(
...
success(response) {
Table_Html = resopnse
}
)
$('#table').remove();
$('#Table_Parent').append(Table_Html);
}, 5000);