2015-09-28 91 views
2

從自我主機我想每5秒後獲取數據。ajax調用REST服務。設置間隔

我在request.js代碼:

$.ajax({ 
     type: "GET", 
     url: "http://localhost:8080/api/Data", 
     success: function (data) { 
      console.log(data); 
     } 
    }); 

我有什麼補充?

+0

課程的setInterval。除非你想這樣做,以防止出現錯誤的時間比間隔長,在這種情況下,你會使用setTimeout。 –

+0

在我的代碼中,如果代碼中存在ajax調用,我更喜歡setTimeout而不是setInterval。如果回撥時間超過時間間隔,setInterval可能會導致問題。 以所需的時間間隔再次以ajax調用完成回調setTimeout()。 – rkmorgan

回答

7

寫入功能並將其設置爲setInterval

function checkData() { 
    $.ajax({ 
     type: "GET", 
     url: "http://localhost:8080/api/Data", 
     success: function (data) { 
      console.log(data); 
     } 
    }); 
} 

setInterval(checkData, 5000); 

您可以使用setTimeout如果你的Ajax調用變得更長的時間去響應:

function checkData() { 
    $.ajax({ 
     type: "GET", 
     url: "http://localhost:8080/api/Data", 
     success: function (data) { 
      console.log(data); 
      setTimeout(checkData, 5000); 
     } 
    }); 
} 

setTimeout(checkData, 5000); 
+0

謝謝。有效!!! – trap

+1

__重要提示:__'setInterval'用於_periodic_更新,但是'setTimeout'僅用於延遲,它會觸發_only once_,更多信息請查看此問題:http://stackoverflow.com/questions/729921/settimeout-or -setinterval – mergenchik