Получайте данные без обновления страницы

#javascript #php #ajax

Вопрос:

Я пытаюсь создать простое окно чата с использованием php, javascript, ajax и mysql, и оно отлично работает, когда я нажимаю кнопку «Отправить», сообщение отображается сразу же без обновления, но когда я отправляю сообщение из второго браузера, мне нужно обновить страницу, чтобы прочитать сообщение.. Так как же получить его без обновления ? Спасибо

введите описание изображения здесь

Комментарии:

1. Что вы пробовали до сих пор? Где ты застрял?

Ответ №1:

Самым простым решением было бы использовать опрос. Попросите страницу время от времени использовать ajax для запроса сервера, чтобы узнать, нужно ли получать сообщение или нет. На странице вы:

  1. используйте ajax один раз, чтобы отправить сообщение.
  2. Совершайте несколько повторных вызовов ajax каждые X секунд, чтобы спросить сервер, есть ли новое сообщение для получения. Получаемые сообщения должны храниться на сервере, чтобы их можно было отправлять, когда страница запрашивает новые сообщения. например

.

 setTimeout(ajaxFunctionToCheckForNewMessages, 10000);
function ajaxFunctionToCheckForNewMessages() {
    ajax.call...
    success: {
       // display any new messages received from the ajax call.
    }
}
 

Другим решением были бы push-уведомления, которые, насколько я могу судить, будет гораздо сложнее реализовать.

Комментарии:

1. Я уже использовал Ajax, не могли бы вы дать мне пример кода, пожалуйста

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