Как просматривать последние сообщения с помощью AJAX

Я понятия не имею об этом.

Мне нужно просмотреть последние сообщения из базы данных. (Если сообщения по-прежнему не отображаются пользователю)

Можно ли обойтись без частых запросов на сервер? (Я имею в виду setTimeout с запросом AJAX)

Подробнее: пользовательский ввод и отправка сообщения в чат, затем чат обновляется, и новое сообщение отображается для всех пользователей, которые находятся в этом чате.

Заранее спасибо.


person owl    schedule 05.02.2014    source источник
comment
websockets / longpolling / comet ... посмотрите их   -  person Marc B    schedule 05.02.2014


Ответы (1)


Несколько идей для начала, хотя на StackOverflow действительно очень полезно показать нам, что вы пробовали раньше.

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

Во-первых, вам понадобится запрос ajax, чтобы узнать, какое последнее сообщение видел пользователь.

Итак, если у вас есть идентификатор разговора и идентификатор потока

1) отправьте запрос ajax от клиента на сервер с идентификатором разговора и идентификатором потока. Возможно, вам также потребуется отправить данные для аутентификации пользователя. Мы понятия не имеем, где вы сейчас находитесь.

2) запросите ваш сервер из базы данных, все идентификаторы потоков в разговоре, где идентификатор потока> идентификатор в запросе ajax

3) на стороне клиента возьмите ответ ajax и обновите клиент всеми полученными ответами. Обновите клиент, указав последний идентификатор потока, чтобы он знал, что отправить обратно для следующего запроса.

Надеюсь, это даст вам начало.

person pedalpete    schedule 05.02.2014