【问题标题】:Refresh 2 divs with 1 ajax request [duplicate]使用 1 个 ajax 请求刷新 2 个 div [重复]
【发布时间】:2014-11-06 20:35:10
【问题描述】:

假设我有 2 个 div,如何使用 1 个 ajax 请求每 5 秒刷新一次?

<div id='1'></div>

<div id='2'></div>

我可以这样刷新 1:

  interval = setTimeout(refreshpage, 5000);
  function refreshpage() {
     $('#1').load('page.php?&timer='+new Date().getTime()+' #1');
     interval = setTimeout(refreshpage, 5000);
  } 

【问题讨论】:

  • 你是什么意思,有 1 个 ajax 请求?您不能同时获得 2 页。您可以创建 2 个 ajax 请求来解决承诺,推迟它们,并在它们都完成时调用 $.when(),但除此之外,没有。
  • 不要使用.load(),因为它会在链接到的 jQuery 对象中显示结果。而是使用$.get()$.ajax(),返回json并在ajax成功函数中处理不同部分。
  • @ohgodwhy div 是同一个页面。
  • @jeroen 的例子好吗?
  • 你永远不应该假设通话在某个时间点完成

标签: javascript php jquery ajax intervals


【解决方案1】:

因此,假设您希望使用相同的 ajax 调用来填充 2 个不同的 div,您可以执行以下操作:

这是您的 HTML:

<div id='1'></div>
<div id='2'></div>

因此,您可以单独执行 ajax 请求,然后将相同的请求加载到 2 个 div 中:

interval = setTimeout(refreshpage, 5000);

function refreshpage() {
    var data = $.get('page.php?&timer='+new Date().getTime()+' #1').done(function (response) {
        ('#1').html(response);
        ('#2').html(response);
    });

    interval = setTimeout(refreshpage, 5000);
} 

【讨论】:

  • 我试试看
  • 另外,ID 不应该以整数开头。
  • @ohgodwhy i know, just a example man..
  • @DobotJr 将来可能会帮助 googler。你永远不会知道。 :)
  • @ohgodwhy 你是对的
【解决方案2】:

您实际上可以做的是使用 setTimeOut 函数 a 设置一个计时器

 setTimeout(function(){ . . Your ajax Request goes here

 var datos = $.get('page.php?&timer='+new Date().getTime()+'
 #1').done(function (res) {
         $('#1').html(res);
         $('#2').html(res); . . }, 3000);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多