2014-02-16 44 views
1

當前正在使用ajax的第一個實現上工作,我非常努力。在rails中使用ajax更新某些變量

我想定期更新已經呈現的頁面上的某些值。

控制器

def something 
    @var1 = 1 
    @var2 = 2 
    render :json => { :var1 = @var1, :var2 = @var2 } 
end 

的看法目前看起來是這樣的:在JSON請求的

:javascript 
    var result = jQuery.getJSON('/admin/tours/cc_dashboard_json', function(json) { 
    var variables = JSON.parse(result); 
    }); 

.container 
    .row 
    .span4 
     %table 
     %tr 
      %h3= @var1 #used to just reload the page manually and here the 
      %h3= @var2 #vars used to show up 

結果:

{ "var1":1,"var2":2 } 

我想有什麼用?

我希望var1和var2每隔x秒更新ajax請求的數據。所以我需要js每x秒請求數據並在之後更新變量。

+1

您可以使用[Window.setInterval](https://developer.mozilla.org/ en/docs/Web/API/window.setInterval)來實現這一點。 – Wahtever

+0

工作正常!謝謝。如何在加載頁面時加載1x,然後每隔x秒加載一次? – tomr

+0

我認爲你正在尋找這樣的東西:http://jsfiddle.net/6k485/1/ – Wahtever

回答

0

您可以使用window.setInterval來實現此目的。

根據MDN的setInterval將:

調用函數或反覆執行一個代碼段,用每次調用該函數之間的固定 時間延遲。

您也可以運行功能,一旦頁面加載然後讓間隔接手這樣的:

(function(){ 
    var start = function() { 
    alert("Interval"); 
    }; 

    window.setInterval(start, 10000); //every 10 seconds 

    start(); 
})();