Здравствуйте. Есть вопрос. Как выводить статьи на странице без перезагрузки. Я знаю как можно сделать, чтобы для одного человека создавалась иллюзия, что статья вывелась, а в это время она отправляется через ajax в базу данных. Но как сделать, чтобы и для других пользователей, которые будут в той теме, она тоже вывелась без перезагрузки страницы?
Я делаю с помощью метода append, а в этом время статья добавляется в базу данных на ajax Добавлено спустя 46 секунд: Но если зайти с двух аккаунтов в одну тему, то без перезагрузки страницы, статья добавится только у того пользователя, который ее написал
Смотри ты зашел в тему одну и я. Я пишу статью и она у меня добавилась без перезагрузки страницы. Но ты, который тоже находишься в этой теме, не увидел того, что она добавилась. Как сделать так, чтобы и ты это увидел?
отправь на сервер Ajax-данные, занеси данные в БД, и когда я сделаю Ajax-запрос то, тоже увижу твою статью ((
Ну у тебя есть 1 или больше клиентов + сервер, скажем клиент 1 подключился по websocket к серверу и клиент 2 к этому серверу тоже подключён, клиент 1 начинает редактировать запись, а клиент 2 может получить об этом информацию от сервера, так как клиент 1 её отправил на сервер, коммуникация в реально времени, как скайп например, раньше просто раз в N секунд делали запрос через ajax или longpoling, но websockets быстрее, меньше кушает трафика и других ресурсов. Подробнее можно поискать в поиске.
Зачем вебсокет, нет, можно и его использовать, а можно сделать проще. Повесть таймер и отсылать аякс запрос на наличие новых ответов в определенной теме, а если таковые есть - показывать их. Увеличит нагрузку на сервер конечно. Зачем такое делать, не пойму..
либо websocket либо посыл ajax pull на сервер каждые N секунд , на который сервер должен отдать список тех изменений которые ты еще не увидел или список изменений с того момента как клиент последний раз уже отправлял такой ajax pull , а клиент в итоге обрабатывает эти изменения в DOM странице. Но WebSocket эффективнее, AJAX на его фоне как костыль в такой задаче