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 sta
I assume that there is a servlet with URL Pattern /UpdateCount is configured in web.xml to provide dynamic data/content and there is a div element countStatDiv in the jsp page.
The following code refreshes/updates the content of countStatDiv at every 30 seconds using GET method and variable seconds value can be changed according to the need:
<script>
var request;
var seconds=30;
function getRequestObject(){
setInterval(function() {sendRequest();},seconds*1000);
if (window.ActiveXObject){
return (new ActiveXObject("Microsoft.XMLHTTP"));
} else if (window.XMLHttpRequest){
return(new XMLHttpRequest());
} else {
return (null);
}
}
function sendRequest(){
request = getRequestObject();
request.onreadystatechange = handleResponse;
request.open("GET", "../UpdateCount", true);
request.send(null);
}
function handleResponse(){
if((request.readyState == 4)&&(request.status == 200)){
var serverResponse = request.responseText;
var statCtrl=document.getElementById("countStatDiv");
statCtrl.innerHTML=serverResponse;
}
}
</script>
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.
function proxy()
{
/* implement call to your Ajax method */
}
setInterval( proxy, 1000 ); // last arg is in milliseconds
You can use serInterval method of javascript:
Just write down the lines at the bottom of your page:
<script>
window.setInterval(function(){
ajaxCallFunction(); //calling every 5 seconds
}, 5000);
function ajaxCallFunction(){
//this function uses ajax to interact with the server
}
<script>