Страница автоматического обновления Javascript? - PullRequest
1 голос
/ 03 апреля 2012

Может кто-нибудь подсказать мне направление, я хочу знать, как сделать автоматическое обновление страниц, таких как Facebook, для новых обновлений статуса, новых лайков и т. Д., Т. Е. Если у вас есть статус, открытый в окне, и пользователь нажимает «нравится» ", +1 автоматически появляется.

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

Ответы [ 3 ]

3 голосов
/ 03 апреля 2012

Это делается с использованием модели PUSH (подписка / публикация).

Клиентская сторона сначала подписывается, выполняя запрос AJAX. Этот запрос AJAX остается в живых до бесконечности. Когда сервер получает новый лайк / комментарий, он публикует это обновление на стороне клиента, тем самым заканчивая запрос AJAX. Клиент получает это обновление и отправляет другой AJAX-запрос.

Широко классифицируется как Комета .

Однажды я реализовал приложение для веб-чата Comet и написал несколько технических описаний того, что с ним произошло. Вы можете прочитать это здесь, если интересно.

Приложение веб-чата Comet

Edit:

Механизм сердцебиения (модель PULL) определенно проще реализовать, но модель PUSH гораздо более эффективна.

0 голосов
/ 03 апреля 2012

я не публикую код, но вот краткий обзор того, что вы, возможно, захотите сделать:

  1. с "похожим" изображением
  2. создайте скрипт, который привязывает обработчик клика кизображение.
  3. после щелчка сценарий отправляет AJAX-запрос серверу, чтобы увеличить значение, например
  4. , если этот запрос выполнен успешно, верните данные в сценарий, указывающие, что он был успешным.Вы также можете захотеть вернуть количество лайков и т. д.
  5. после того, как сценарий узнает об успехе, попросите его изменить изображение «лайк».

как для подсчета лайков,ну, это до вас.для очень широкого вопроса это широкий ответ, который укажет вам правильный путь.

0 голосов
/ 03 апреля 2012

Вам нужно будет использовать ajax, который является способом взаимодействия с базой данных без перезагрузки веб-страницы: вы можете, например, использовать функцию $ ajax фреймворка jQuery: вотдокумент

...