2014-10-02 2 views
1

У меня есть функция javascript, которая получает объект JSON из URL-адреса, и я хочу обновлять объект JSON каждый час с помощью современных данных.Как автоматически вызывать функцию javascript каждый час?

Я предполагаю, что это нужно, чтобы вызвать функцию javascript, которая получает объект JSON из URL-адреса каждый час.

Однако я не знаю, как настроить функцию автоматического повторного запуска каждый час, может кто-нибудь объяснить, как это делается?

Спасибо

+2

клиент ? вы можете использовать 'setInterval', для этого требуется, чтобы ваша страница была открыта и оставалась открыта все время, хотя .. – BeNdErR

+4

читать на setinterval - но у кого есть веб-страница, открытая на час? –

+1

, вы, вероятно, могли бы воспользоваться заданием cron по этому URL-адресу http://stackoverflow.com/questions/4695629/cronjob-but-for-jquery-javascript – chaos505

ответ

4
function doSomething() 
{ 
    alert('Test'); 
} 


setInterval(doSomething, 60*60*1000); 
+0

Время в миллисекундах –

+0

setInterval принимает мс не секунды. – Danny

0

Вы можете попробовать:

setInterval(function(){alert("Hello")},3600000); 

Где 3600000 интервал времени в миллисекундах.

-1

Go с setInterval, как показано ниже: -

Синтаксис

setInterval(function,milliseconds,lang) 

Параметр Значения

Parameter   Description 

function   Required. The function that will be executed 
milliseconds  Required. The intervals (in milliseconds) on how often to execute the code 
lang    Optional. JScript | VBScript | JavaScript 

Возвращаемое значение

Целое число с идентификационным значением установленного таймера. Используйте это значение с помощью метода clearInterval(), чтобы отменить таймер.

Пример

function test() 
{ 
    ////Your code 
} 
setInterval(function(){test()}, 60 * 60 *1000); //// 60 minutes = 3600 seconds = 3600000 miliseconds 

Для получения более подробной информации: -

http://www.w3schools.com/jsref/met_win_setinterval.asp

+0

Использование строки в 'setInterval' является проблемой XSS. – Andy

+0

Я обновил, но это тоже верно. @Andy – Neel

+0

@downvoter atleast приносит причины – Neel

1

Вы можете повторно назвать вашу функцию с установкой интервала: боковой

<script type="text/javascript"> 
    function getJSONObjectFromURL(){ 
     // do stuff 
    } 
    //set interval in milliseconds and call function again 
    //1h = 60m = 3600s = 3600000ms 
    var timeoutID = window.setInterval(getJSONObjectFromURL, 3600000); 
</script> 
+0

Пропустил 4 точных ответов ниже, тогда мы? – ggdx

+0

Да, правильно, их там не было, когда я начал набирать свой ответ. Для меня это не причина проголосовать! Извините, но я не видел этого, давая свой ответ ... –

+1

Я не голосовал. Это справедливый ответ. – ggdx