Как вы автоматически обновляете часть страницы автоматически, используя AJAX? - PullRequest
0 голосов
/ 16 марта 2010
$messages = $db->query("SELECT * FROM chatmessages ORDER BY datetime DESC, displayorderid DESC LIMIT 0,10");
while($message = $db->fetch_array($messages)) {
    $oldmessages[] = $message['message'];
}
$oldmessages = array_reverse($oldmessages);
?>
<div id="chat">
<?php
for ($count = 0; $count < 9; $count++) {
    echo $oldmessages[$count];
}
?>
<script language="javascript" type="text/javascript">
<!--
setInterval( "document.getElementById('chat').innerHTML='<NEW CONTENT OF #CHAT>'", 1000 );
-->
</script>
</div>

Я пытаюсь создать скрипт чата PHP, но у меня много проблем с его получением в AutoRefresh

Контент должен автоматически обновляться до, как вы это сделаете? Я искал почти час

Ответы [ 2 ]

1 голос
/ 16 марта 2010

Я бы взял ту функциональность PHP, которая у вас есть, и поместил бы ее на отдельной странице, которая возвращает JSON. Оттуда вы можете вызвать этот метод, используя jQuery и встроенные инструменты AJAX. Действительно просто. Начните здесь для jQuery: http://api.jquery.com/category/ajax/

0 голосов
/ 16 марта 2010

вам нужно будет настроить серверный скрипт, который рендерит только содержимое div чата, и использовать ajax для его получения это можно сделать с помощью jquery довольно просто:

В вашем HTML-документе:

<head>
...
    <script src="/path/to/jquery.js" type="text/javascript"></script>
    <script>
        var chatUpdateInterval = null;
        function initChat() {
            chatUpdateInterval = window.setInterval(updateChat, 5000); /* every 5 seconds */
        }
        function updateChat() {
            $.ajax({
                url: '/url/path/to/your/script.php'
               ,dataType: 'HTML'
               ,success: function(data, status, xhr){
                   $('#chat').append($(data).html());
               }
            });
        }
        $(document).ready(function(){
             initChat();
        });
    </script>
...
</head>
<body>
    <div id="chat">
      please stand by while we're firing up the coal!
    </div>
</body>

Обратите внимание, что это не очень хорошо, это всего лишь пример для начала. вы должны посмотреть в jquery $. ajax

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...