我想做一个在线用户内容刷新它自我和每次调用PHP函数。如何在同一页面使用.load()来刷新div?
我用
<div class="onlineFriends">
<?php
$members = find_online_friends($_SESSION['id']);
foreach($members as $member):?>
<div class="user" href=<?php echo ($member['f_id']); ?> rel="popup_name" >
<img src=<?php
$avatars = find_avatar($member['f_id']);
foreach($avatars as $avatar)
echo ($avatar['src']) ?>
/>
</div>
<?php endforeach; ?>
</div>
<script>
$(function(){
var refreshId = setInterval(function() {
$('.onlineFriends ').load("# .onlineFriends ").fadeOut("slow", function() {
$(this).fadeIn("slow");
});
}, 50000);
});
</script>
这工作不错。但.load()函数我认为首先加载整个页面,然后调用.onlineFriends。我可以在控制台上看到它与萤火虫。它将所有页面源代码作为GET答案返回。我的问题是会减慢速度?因为我将对其他div内容使用此方法5次,并且每次每个函数都会加载整个页面。
另外我试图创建单独的.php文件,但我在php代码中有一些依赖,我不能在另一个文件中运行此函数。
但$ .get()或$ .post()方法也会调用.php文件并返回所有页面。 – Ercan 2010-11-18 21:04:58
您可以发出每个请求,例如'?r = ajax',并使PHP只发送想要的数据,而不是整个页面。 – 2010-11-18 21:08:23