4

Possible Duplicate:
jQuery Ajax request every 30 seconds

I know we can load a part of page on some event. I also know we can load whole web page every specified time. But i wanted to know how to load a part of page every 30 seconds.

4

5 回答 5

12
function refreshPage() {
    $.ajax({
        url: 'ajax/test.html',
        dataType: 'html',
        success: function(data) {
            $('.result').html(data);
        },
        complete: function() {
            window.setTimeout(refreshPage, 30000);
        }
    });
}

window.setTimeout(refreshPage, 30000);

使用setTimeout的好处是,如果连接挂起一段时间,您将不会收到大量待处理的请求,因为只有在前一个完成后才会发送新的请求。

于 2012-07-05T10:21:08.340 回答
2
function load_content(){

    setTimeout(function(){

        $.ajax({
            url: 'ajax/example.html',
            dataType: 'html',
            success: function(data) {
                $('.result').html(data);
                load_content();
            }
        });dataType: 'html',

    },30000);

}

load_content();
于 2012-07-05T10:15:51.297 回答
0

jQuery 已经内置了用远程文件替换元素内容的功能,称为load(). 你可以使用load()这个oneliner:

window.setTimeout($('#refresh').load('/remote/content.html'), 30000);

#refresh是要刷新的元素的id,/remote/content.html是远程内容。

于 2012-07-05T10:57:24.960 回答
-1
$(function() {
   setInterval(function() {
     getData();  // call to function
   }, 30000 );  // 30 seconds
});


// define your function here
function getData() {
   var url ="/mypage.php?type=load_data";
   var httpobj = $.ajax({url:url,async:false});  // send request
   var response = httpobj.responseText.trim(); //get response
   $('#myDiv').html(response);  // display data
}
于 2012-07-05T10:38:13.150 回答
-2

如果你使用 jQuery,你可以使用load()方法

setInterval(function(){

    $('#some-kinda-container').load('/some/kinda/url.html #bit-you-need');

}, 30000);
于 2012-07-05T10:21:27.053 回答