#javascript #php #ajax
Вопрос:
Я пытаюсь создать простое окно чата с использованием php, javascript, ajax и mysql, и оно отлично работает, когда я нажимаю кнопку «Отправить», сообщение отображается сразу же без обновления, но когда я отправляю сообщение из второго браузера, мне нужно обновить страницу, чтобы прочитать сообщение.. Так как же получить его без обновления ? Спасибо
Комментарии:
1. Что вы пробовали до сих пор? Где ты застрял?
Ответ №1:
Самым простым решением было бы использовать опрос. Попросите страницу время от времени использовать ajax для запроса сервера, чтобы узнать, нужно ли получать сообщение или нет. На странице вы:
- используйте ajax один раз, чтобы отправить сообщение.
- Совершайте несколько повторных вызовов 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, чтобы спросить сервер, есть ли сообщение для получения.