当它们是新事件时,使用jQuery通过AJAX更新div的内容

时间:2010-10-14 10:13:18

标签: ajax jquery

我正在进行匹配“实时计时”,管理员向数据库发送新输入,例如:“A队得分!1-0”。这显示在<div />内的公共网站上,我想获取新输入并打印出来。我从来没有做过类似的事情,我不知道该怎么办。

我也有一些疑问:

  1. 服务器将内容发送到X浏览器是否可行?那么浏览器只会处于“空闲”状态吗?
  2. 只有当用户在浏览器上处于活动状态时才可以刷新?就像Facebook一样,如果你不在浏览器上或将鼠标移到你身上,你就不会得到更新。
  3. 可以只追加<div />个新项目,而不是刷新所有项目吗?
  4. 提前谢谢!

1 个答案:

答案 0 :(得分:1)

你可以使用像这样的ajax方法:

$.getJSON('ajax/test.json', function(data) {

  $('.result').html($('.result').html()+'<p>' + data.foo + '</p>'
    + '<p>' + data.baz[1] + '</p>');
});

或:

$.ajax({ url: "test.html", context: document.body, success: function(){

.......................................           }});

使用setTimeout调用:

(function() {
  $(document).ready(function() {update();});

  function update() { 
  $.getJSON(.................);
    setTimeout(update, 3000);     }
  }
)();

然后你可以将mouseover事件绑定到包装你的web的div,这将强制ajax调用。您应该使用控制变量来知道调用何时处理,因此不要复制它。