ajax自动刷新div值其他版本

时间:2016-01-07 09:53:22

标签: javascript jquery ajax

我的情况与其他问题不同。我有一个包含此代码的div <div id="ondiv"><?php ?></div>

在php里面是那些在线的人。当用户登录时,div将刷新并能够看到刚刚登录的人。我已经尝试过上一个问题的代码。

$(document).ready(function(){
setInterval(function(){
$("#oldiv").load("chat.php");
}, 2000);
});

`但它做的是重新加载页面,它在我的div上显示的是chat.php的整个页面。我想要的只是刷新div来显示刚刚登录php代码的用户。

3 个答案:

答案 0 :(得分:1)

.load()实际上仅在调用只会导致HTML时才可用。如果我是你,我会用ajax做到这一点:

$(document).ready(function(){
    setInterval(function(){
        $.ajax({
            type: 'post',
            url: 'chat.php',
            success: function(data) {
                $("#oldiv").html(data); // or ondiv, didn't get it
            }
        });
    }, 2000);
});

答案 1 :(得分:0)

我假设您在chat.php中有一个容器(div),其中包含所有在线用户。

您只能在目标元素中加载fragment from the page

  

.load()不同,$.get()方法允许我们指定要插入的远程文档的一部分。这是通过url参数的特殊语法实现的。如果字符串中包含一个或多个空格字符,则假定第一个空格后面的字符串部分是确定要加载的内容的jQuery选择器。参考this

试试这个:

$(document).ready(function() {
  setInterval(function() {
    $("#oldiv").load("chat.php #container_which_holds_online_user");
  }, 2000);
});

答案 2 :(得分:0)

请参阅jQuery的加载方法:http://api.jquery.com/load/

它接受chat.php的内容并放在#oldiv内。

您可以更改chat.php或创建新文件以达到您的需要。