当前位置: 首页 > 面试题库 >

使用jQuery自动刷新div-setTimeout或其他方法?

茅华灿
2023-03-14
问题内容

您如何div使用JavaScript(特别是jQuery)进行自动刷新?

我知道这种setTimeout方法,但这真的是一个好习惯吗?有没有更好的方法?

function update() {
    $.get("response.php", function(data) {
        $("#some_div").html(data);
    });
    window.setTimeout("update();", 10000);
}

问题答案:

另一个修改:

function update() {
  $.get("response.php", function(data) {
    $("#some_div").html(data);
    window.setTimeout(update, 10000);
  });
}

与此不同的是,ajax调用为1之后,它将等待10秒。因此,刷新之间的时间间隔实际上是10秒+
ajax调用的长度。这样做的好处是,如果您的服务器花费的时间超过10秒,则不会同时发生两个(最终很多)同时的AJAX调用。

另外,如果服务器无法响应,它将不会继续尝试。

过去,我曾使用过类似的方法,使用.ajax处理更复杂的行为:

function update() {
  $("#notice_div").html('Loading..'); 
  $.ajax({
    type: 'GET',
    url: 'response.php',
    timeout: 2000,
    success: function(data) {
      $("#some_div").html(data);
      $("#notice_div").html(''); 
      window.setTimeout(update, 10000);
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
      $("#notice_div").html('Timeout contacting server..');
      window.setTimeout(update, 60000);
    }
}

这显示了加载时的加载消息(将动画gif放入其中,以显示典型的“ web
2.0”样式)。如果服务器超时(在这种情况下花费的时间超过2秒)或发生任何其他类型的错误,则表明错误,并等待60秒,然后再次联系服务器。

在与大量用户进行快速更新时,这尤其有用,因为您不希望每个人都突然使请求始终超时的落后服务器瘫痪。



 类似资料:
  • 因此,我这里有一把小提琴,它在右下角添加了一个div,以在用户添加项目时通知用户(单击。divs上的事件)。此div在几秒钟后自毁()。 第一个问题是,在不到3秒内添加几个div会导致很多div无法看到下面的div。所以我在事件,然后再执行其他操作。 $(“#测试”)。删除(); 新的/当前的问题是,在不到3秒钟的时间内添加几个div可能会导致div仅出现一秒钟或更短的时间,无法看到它是什么。有没

  • 新的/当前的问题是,在不到3秒的时间内添加几个div可能会导致div只出现一秒或更短的时间,无法看到它是什么。有办法解决吗??

  • 本文向大家介绍jQuery 局部div刷新和全局刷新方法总结,包括了jQuery 局部div刷新和全局刷新方法总结的使用技巧和注意事项,需要的朋友参考一下 div的局部刷新 $(".dl").load(location.href+" .dl"); 全页面的刷新方法 window.location.reload()刷新当前页面. parent.location.reload()刷新父亲对象(用于框架

  • 问题内容: 所以@SOF 我一直在努力使我的学校成绩,成绩,预计成绩等网页具有自动更新功能,以便在通过使用和来获得新数据时刷新页面上的数据,并且“查看”。 我的主要问题是我无法正常使用任何形式的Ajax刷新/加载,我可以将输出生成为json或单个html文件,出于我的目的,我认为json会更好,但我不确定。 我的网页在左上角有一个导航助手,它是一个下拉菜单,该菜单通过“搜索”找到的列表填充,可以在

  • 问题内容: 我正在尝试使用AJAX和JQuery(在Django中)刷新页面的特定部分。如何获取仅重新显示div而不重新显示整个页面的信息。 这是我的看法。 当前,它将整个html页面放入#tag_page div中。我希望它用新的#tag_page div替换旧的#tag_page div。如果替换为它,则将整个页面刷新到应有的状态,但是我认为刷新整个页面是一种浪费。 如果有更好的方法,请告诉我

  • 问题内容: 在这里,所有帮助都值得赞赏。我正在用php构建一个Web应用程序,并且正在使用Yii MVC框架,该框架具有很多内置工具。正如标题所示,我需要每10秒刷新一次div。目前我有这个ajax功能 对于不熟悉Yii的人,它将大多数php文件存储在一个名为protected的文件夹中。就是这样,上面的代码ajaxRequest.open行要求将URL存储在受保护的文件夹中,因此我不断收到禁止访