Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to schedule ajax calls every N seconds?

If I want a whole page to reload every N seconds, I would put something like this in the HTML: meta http-equiv="refresh" content="5"

Is there a standard practice for doing the same kind of thing for AJAX calls? I want schedule an AJAX call to go off every 10 seconds say, in order to update parts of the page, without refreshing the whole page. It would be even better if I could schedule multiple AJAX calls at different times, as some parts of the page may need to be updated more often than others.

TIA

like image 466
aaa90210 Avatar asked Aug 29 '09 04:08

aaa90210


2 Answers

You could use setTimeout or setInterval (the latter is probably best suited to what you want to do).

setInterval(makeRequest, (10 * 1000));

...where makeRequest is a function that reloads some content via AJAX.

like image 189
Steve Harrison Avatar answered Oct 27 '22 00:10

Steve Harrison


function proxy()
{
  /* implement call to your Ajax method */
}

setInterval( proxy, 1000 ); // last arg is in milliseconds
like image 22
Decent Dabbler Avatar answered Oct 27 '22 00:10

Decent Dabbler