Как передать информацию AJAX другому пользователю от пользователя нажатием кнопки в php?

Я хочу реализовать AJAX для автоматического обновления содержимого, когда для пользователя поступает новое уведомление.


Пример того, чего я пытаюсь достичь:

user A отправил запрос на добавление в друзья user B, поэтому user B получает уведомление, но уведомление отображается только после обновления страницы. Я хочу автоматически обновлять уведомление всякий раз, когда база данных обновляется/вставляется новое значение.

АЯКС:

$('#ajax').click(function(){
$(document).ready(function(){
$.ajax({
    type: 'POST',
    url:  '../main/count-fnd.php',
    success: function(data){
        $('#output').html(data);
    }
 });
});
});

Возможный дубликат Реализация Php чата

Sam 01.04.2019 13:14

Есть несколько техник, которые вы могли бы использовать. Первый не синхронный. Итак, что вы можете сделать, так это делать запрос AJAX каждые X секунд, чтобы убедиться, что у пользователя есть запрос на добавление в друзья. К сожалению, это решение не самое лучшее, так как может потреблять много ресурсов на стороне сервера. Представьте, в вашей сети 10000 участников, и все они подключены одновременно. Это означает, что все 10000 участников отправят запрос на сервер для проверки запросов на добавление в друзья. Другим, более легким решением является использование веб-сокетов, когда все элементы обновляются одновременно.

KodeFor.Me 01.04.2019 13:15

Для получения дополнительной информации вы можете увидеть следующие ссылки: socketo.me & socket.io

KodeFor.Me 01.04.2019 13:16

@ Сэм, это явно не дублирующий вопрос. Я не пытаюсь сделать приложение для чата.

Chris_00 01.04.2019 13:30

@Chris_00, это именно так, замените «уведомление» на «сообщение в чате».

Sam 02.04.2019 10:30

@ Сэм, лол, опять явно не то же самое, и это не решило мою проблему...

Chris_00 02.04.2019 10:32

@Chris_00 хорошо, как хочешь

Sam 02.04.2019 10:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
173
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы сделать это с помощью AJAX (без использования других технологий), наиболее часто используемым, а скорее типичным в этих случаях, является использование какого-либо таймера для обновления и проверки наличия каких-либо новых уведомлений каждые "x" секунд, которые вы указываете.

setInterval(() => {
    $.ajax({
       type: 'POST',
       url:  '../main/count-fnd.php',
       success: function(data){
           $('#output').html(data);
       }
    });
}, 5000); // refresh 5s

Надеюсь, это не типичный случай, зачем отправлять запрос на ваш сервер каждые 5 секунд, который в худшем случае ничего не возвращает? Я бы предпочел сервер push/pubsub/websockets

brombeer 01.04.2019 13:38

Вы плохо поняли мой ответ и поспешили проголосовать за него отрицательно. ЯСНО, ПРАВИЛЬНО использовать веб-сокеты. Но если вы хотите сделать это только с помощью AJAX, не имея других технологий или сокетов, это типичный случай.

Jose FG 01.04.2019 13:47

На самом деле вопрос гласит: «Как передать информацию AJAX другому пользователю от пользователя с помощью нажатия кнопки в php?» не "Как лучше всего..."

Jose FG 01.04.2019 13:52

@JoseFG, как лучше всего это сделать?

Chris_00 01.04.2019 13:57

к вашему сведению, я не записал ваш ответ

brombeer 01.04.2019 14:08

@Chris_00, как хорошо они связывают вас с помощью какой-то технологии, которая слушает и может запускать событие, когда нужные данные изменяются. Возможно, лучшим примером, как вам сказали, является использование сокетов.

Jose FG 01.04.2019 14:33

Другие вопросы по теме