2015-12-22 2 views
-2

Я как бы новичок на PHP. Я создал систему обмена сообщениями, но вам нужно вручную обновить iFrame сообщениями. Как я могу сделать это обновление iFrame при получении нового сообщения?PHP - обновление iFrame при получении нового сообщения

+2

Почему бы не использовать AJAX, чтобы получить новые сообщения – chris85

+0

Я не очень хорошо знаком с AJAX Как я мог сделайте это? – jadenPete

+0

бесконечный цикл на стороне сервера ... Надеюсь, у вас есть хороший пакет хостинга. Если вам нужно что-то удалить из стресса с запросов сервера, вы можете захотеть изучить веб-сокеты, так как это сделает один запрос и после внесения изменений в базу данных он будет отвечать, а не запрашивать все данные каждые столько секунд. – NewToJS

ответ

1

Если вы хотите регулярно опросить сервер после загрузки страницы, вам необходимо будет использовать javascript для регулярной отправки запроса на сервер без перезагрузки страницы (для чего используется AJAX).

Если вы можете создать php-сообщение, которое возвращает все сообщения, созданные после определенного таймфрейма, вы можете отправить запрос с помощью javascript.

Если вы используете JQuery на клиенте, это будет выглядеть примерно так (проверить http://api.jquery.com/jquery.ajax/ более подробно):

var timestamp = Date.now(); 
setInterval(function() { 
    $.ajax("/newmessage?timestamp=" + timestamp, { 
    success: function(data) { 
     //Do something with the new messages here 
     $("#messages").append("<div id='message'>" + data.message + "</div>"; 
    } 
    }); 
}, 10000); 
// Runs interval every 10000 milliseconds 

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

Если у вас есть контроль над сервером, есть и другие варианты обмена сообщениями, используя websockets, который поддерживает соединение и передает сообщения взад и вперед (http://www.websocket.org/echo.html).

Смежные вопросы