Здравствуйте, возникла проблема. Пишу что-то на подобие чата. Нужно сделать обновления чата без перезагрузки страницы, начал мыслить в сторону Ajax. Но тот в свою очередь, обновляет страницу всегда и бесконечное множество раз. Хотелось бы что-бы обновление чата происходило только когда появится новое сообщение.
Использую VPS сервер на Apache, MYSLi базу и PHP 7.2
Сама функция:
<script>
function show()
{
$.ajax({
type: 'POST',
url: 'greetings.php',
data: 'message=show_all',
cache: false,
beforeSend: function() {
$('.content').html('Получаем контент');
},
success: function(html){
$('.content').html(html);
}
});
}
$(document).ready(function(){
show();
setInterval('show()',4000);
});
</script>
А что Вы, собственно, ожидали? В коде ясно написано обновление после выполнения запроса.
Для исправления: делайте проверку - есть ли в пришедшем что-то новое и только тогда обновляйте.
Но для чата в наше время использовать цикл бесконечных запросов - моветон, ибо есть (веб)сокеты, долгие запросы на худой конец.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости