Javascript不断刷新页面异步

时间:2015-01-26 22:26:32

标签: javascript jquery html

我创建了一个加载在电视上的仪表板网页。此页面希望每秒刷新一次。

我尝试的第一种方法很简单,并且尊重标准:

<meta http-equiv="refresh" content="1">

这会在Mac / Chrome和iOS / Safari中产生令人讨厌的闪烁效果,这是不可接受的。

下一个版本效果很好......内容加载并显示没有明显的中断:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>   
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script>
setTimeout(function() {
  $.ajax({
    url: "",
    context: document.body,
    success: function(s,x){
        $(this).html(s);
    }
  });
}, 2000);
</script>

这很有效......内容加载并显示没有明显的中断。但是,这会在几分钟后崩溃任何浏览器(IE,Chrome,Safari,Mobile Safari)。

有没有办法解决这个问题,不需要我维护两个单独的页面,重新加载部分和内部数据部分?

1 个答案:

答案 0 :(得分:2)

使用timeout创建&#34;轮询&#34;效果..现在你只需每隔2秒触发一次请求,无论等待响应。理想情况下,你可以使用网络套接字,但现在:

function makeAjax() {
    $.ajax({
        url: "",
        context: document.body,
        success: function(s,x){
            $(this).html(s);
            setTimeout(makeAjax, 2000);
        }
    });
}
makeAjax();