2017-02-07 3 views
1

Я использую таблицу начальной загрузки, чтобы отображать данные из моего 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

Я думаю, что вы удалить таблицу и создать заново, что:

setInterval(function(){ 
    $('#table').remove(); 
    $('#Table_Parent').append(Table_Html); 
}, 5000); 
0

Я думаю, что вам нужно сделать оба. Вам нужно получить данные с сервера с помощью ajax, а затем перезагрузить его в datatable.

Только обновление таблицы данных просто перезагрузит данные, которые у вас есть в вашем html, но вам нужно обновить, потому что он перезагрузит данные.

в @Farzin Канзите коду, в установленное время из посылки вызова Ajax и перезагрузить с серверными данными

setInterval(function(){ 
    $.ajax(
    ... 
    success(response) { 
     Table_Html = resopnse 
    } 
    ) 
    $('#table').remove(); 
    $('#Table_Parent').append(Table_Html); 
}, 5000); 
+0

Я думаю, что я вижу, что вы делаете, но я не уверен, как включить его в свой код , Я смог собрать вместе следующий javascript, который работает для того, что мне нужно, хотя и не так профессионально, как вызов ajax. user2843365

Смежные вопросы