Показать сообщение отдельно
  #1 (permalink)  
Старый 09.06.2016, 08:05
Новичок на форуме
Отправить личное сообщение для MirDj Посмотреть профиль Найти все сообщения от MirDj
 
Регистрация: 09.06.2016
Сообщений: 1

Нужен совет по AJAX
Здравствуйте. Вопрос такого плана. Есть сайт, на нем есть список комментариев.
Пользователь имеет возможность добавить новый комментарий без перезагрузки страницы.
Для этого и используется:

XMLHttpRequest()


Происходит это так, что данные отсылаются php скрипту, тот добавляет запись и методом include подгружает php файл обновления списка комментариев, а затем возвращает в определенный div

Проблема в том, что при обновлении полного списка комментариев, очень долго обрабатывается запрос и прелоадер висит долго. Потому как на одну страницу может быть до 200 комментариев.
Не посоветуете ли, как это дело оптимизировать? Может есть что-то другое вместо

XMLHttpRequest()


или может как-то обновлять не весь список комментариев, а только добавлять новые? Структура комментариев такая, что все комментарии имеют свой блок

<div id="id комментария"></div>


К комментарию может быть список ответов.
Отображаются внутри дива комментария и имеют свой блок

<div id="quoteid комментария"></div>


Если обновлять информацию по уже существующему комментарию, то проще, его id уже известен и див блок существует. А вот как новый добавить, ведь блок в странице браузера еще не задан. Куда возвращать новый комментарий?
Можно создать отдельный блок для новых комментариев, разместив его ниже основного списка, но тогда они тоже будут обновляться массово( если их будет больше одного). Пока не получается придумать правильную организацию.

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

Возможно нужно как-то проверять есть ли изменения и выводить только их. Но как это сверить.... Вобщем вопросов много, надеюсь на разумные советы по вопросу в целом. Спасибо.
Ответить с цитированием