سؤال

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.

هل كانت مفيدة؟

المحلول

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(){...});)

نصائح أخرى

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
 });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top