Bootstrap表刷新

时间:2017-02-07 21:10:00

标签: javascript ajax bootstrap-table

我使用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

感谢您的帮助!!

2 个答案:

答案 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);