Question

How do we make ajax call after page load.

I need to make a ajax call suppose after 10sec document has loaded.

function loadajax(){
  $.ajax({ 
    url:'test',
    data:"username=test",
    type:"post",
    success:function(){
     //do action
    }
  });
}
 $('document').load(function(){
setTimeout(function(){
   loadajax();
 },10000);

});

I am doing it in this way. But doesn't succeeded.

Was it helpful?

Solution

So many answers, all slightly different, but the shortest recommended syntax to run the function 10 seconds after DOM ready, while still retaining best practices, would be:

$(function(){
    setTimeout(loadajax,10000);
});

As Blazemonger mentions below, you could simply put setTimeout(loadajax,10000); at the end of the document, however that is not as flexible to change. jQuery DOM load code should always be in a jQuery DOM load event (i.e. $(function(){...});)

OTHER TIPS

1000 is in milliseconds -- ten seconds would be 10000. Also, you're looking for $(document).ready:

$(document).ready(function(){
    setTimeout(function(){
       loadajax();
     },10000); // milliseconds
});

http://api.jquery.com/ready

Try it like this

$(function(){
  loadajax();
});

You can try this:

$(document).bind("load", function() {
//code
 });
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top