Итак, я пытаюсь создать простой чат для своего сайта, но я не знаю, как это сделать, когда кто-то отправляет сообщение, которое он будет показывать в чате других людей, например, я говорю привет в одном браузере, но это не отображается в другом браузере, пока я не обновляю страницу вручную.Как обновить чат с помощью javascript?
Я знаю, что есть AJAX, чтобы обновить div чата, но все, что я пробовал, похоже, не работает, и я не знаю почему.
Вот мой индексный файл
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
setInterval(refreshMessages, 1000);
function refreshMessages(){
$.ajax({
url: 'chat.php',
type: 'GET',
dataType: 'html'
})
.done(function(data) {
$('#chat').html(data); // data came back ok, so display it
})
.fail(function() {
$('#chat').prepend('Error retrieving new messages..');
});
}
</script>
<div id="chat"></div>
Он не показывает чат на всех, и я не знаю, почему, потому что файл находится в той же папке, что и index.php
, если я поместите код чата в индексный файл, он отлично работает.
Вот файл chat.php
`$messages = get_msg();
foreach($messages as $message) {
echo '<p><strong>' . $message['sender'] . ' - </strong></p>';
echo '<p>' . $message['message'] . '<br /><br />';
}`
You забыл поместить его в '$ (document) .ready()' func Тион? –
это может помочь вам http://stackoverflow.com/questions/21600166/auto-refresh-included-php-file-inside-a-div –
Как вы знаете, это будет смертельно опасно на вашем веб-сервере, если вы попробуете это так :-). Но это одна из первых вещей, которые я сделал, когда Ajax был возможностью. Ах, старые добрые дни IE6. –