【问题标题】:javascript auto refresh div without refreshing the whole pagejavascript自动刷新div而不刷新整个页面
【发布时间】:2017-07-04 08:34:26
【问题描述】:
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script>
  $(document).ready(function() {     
    var refreshId = setInterval(function() {
      $("#curl-refresh").load('test-xml.php');
    }, 30000);
    $.ajaxSetup({ cache: false });
  });
</script>

我正在尝试刷新 div 内容而不刷新整个页面。我得到了所需的输出,但浏览器会在一段时间后挂起。

我见过类似的问题,但没有一个对我有帮助。请帮帮我

我的问题与此类似: Auto refresh div causing browser to hang

【问题讨论】:

  • 我无法为您提供具体问题,但 AJAX 轮询是一种反模式。除了杀死客户端上的资源外,如果您有足够数量的用户,它实际上是对您自己的服务器进行 DDOS 攻击。您应该考虑使用 WebSockets 或服务器发送事件,假设您的目标是保持 UI 和服务器状态同步
  • 您应该查看网络套接字.. 每 3 秒发送一次 ajax 请求您以某种方式将 DDos 攻击发送到您自己的服务器而没有注意到查看sockets.io
  • 大家能帮我怎么做吗
  • 我们不能在上面的代码上添加/删除,建议一些解决方案,因为这已经在工作了
  • 对此有任何帮助

标签: javascript php jquery html ajax


【解决方案1】:

有时您无法阻止浏览器缓存,在这种情况下您可以使用一些 url 查询随机参数来阻止缓存发生。一些喜欢:

var url = "test-xml.php?" + Math.random();

var url = "test-xml.php?" + new Date().getTime();

【讨论】:

  • 在哪里使用这个?以及如何。请帮我解决这个问题。
  • 更改 $("#curl-refresh").load('test-xml.php');到 $("#curl-refresh").load(url);
  • 我也建议使用 $.ajax,因为它可以让您更有能力处理错误
  • $.ajax({ url: "test.html", context: document.body }).done(function() { $( this ).addClass( "done" ); }); api.jquery.com/jquery.ajax
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-27
  • 2016-11-28
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 2015-06-18
  • 2011-12-22
相关资源
最近更新 更多