Как использовать .load () для обновления div на той же странице? - PullRequest
2 голосов
/ 18 ноября 2010

Я пытаюсь создать онлайновый пользовательский контент, который самостоятельно обновляется и каждый раз вызывает функцию php.

Я использовал

<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. Я могу видеть это с firebug на консоли. он возвращает весь исходный код страницы как GET ответ. Мой вопрос, это замедлит? Потому что я буду использовать этот метод 5 раз для другого содержимого div, и каждый раз каждая функция будет загружать полную страницу.

Также я попытался создать отдельный файл .php, но в коде php есть некоторые зависимости, и я не могу запустить эту функцию в другом файле.

Ответы [ 2 ]

2 голосов
/ 18 ноября 2010

Любой запрос к вашей странице приведет к его полному коду.Вы можете указать в php отправлять обратно только желаемую часть страницы при наличии определенных данных GET или POST и использовать $. Get () или $. Post () для их получения.

Потому что я буду использовать этот метод 5 раз

На той же странице?Тогда лучше заменить их из $.get() и $.post() data во время функции обратного вызова.

0 голосов
/ 17 февраля 2017

Создайте другую страницу friends.php и в индексе страницы используйте cod java / ajax и используйте jquery-min

<script src="js/jquery-1.10.1.min.js"></script>

$(document).ready(function() {

$("#center").load("friends.php?var=<?php echo $member['f_id']; ?>");
var refreshId = setInterval(function() {

$("#center").load('friends.php?var=<?php echo $member['f_id']; ?>');}, 9000);
$.ajaxSetup({ cache: false });

ваш div использует html

<div class="center"></div>

your friends.php использует

<?php include"your bd here" $jab = $_GET['var'];  
'select bd'
echo $resultyourneed['f_id'] ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...