我的情况与其他问题不同。我有一个包含此代码的div <div id="ondiv"><?php ?></div>
在php里面是那些在线的人。当用户登录时,div将刷新并能够看到刚刚登录的人。我已经尝试过上一个问题的代码。
$(document).ready(function(){
setInterval(function(){
$("#oldiv").load("chat.php");
}, 2000);
});
`但它做的是重新加载页面,它在我的div上显示的是chat.php的整个页面。我想要的只是刷新div来显示刚刚登录php代码的用户。
答案 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)