@Dimazsever

Как используя SSE получить данные из базы данных?

Недавно прочитал про новую HTML5 технологию SSE(Server-Sent Events) - технология, которая позволяет получать обновления веб - страницы с сервера в режиме реального времени.
Не могу разобраться как получить данные из базы данных.
if(typeof(EventSource) !== "undefined") {
    var source = new EventSource("send.php");
    source.onmessage = function(event) {
        document.getElementById("result").innerHTML += event.data + "<br>";
    };
} else {
    document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
}

В JavaScript коде всё правильно. Что не так в php-скрипте?
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
include("config.php");
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);
if($mysqli->connect_errno){
exit("Не удалось подключиться к MySQL");
}
$mysqli->set_charset("utf8");
$res = $mysqli->query("SELECT `message` FROM `messages` ORDER BY `id` DESC LIMIT 1");
$row = $res->fetch_assoc();
echo "data: anekdot:{$row['message']}";
flush();
  • Вопрос задан
  • 2634 просмотра
Пригласить эксперта
Ответы на вопрос 1
@hedint
Web разработчик
Из вопроса непонятно - у вас проблемы с выводом из базы, или вообще с любым выводом?
Вот пример, который я сейчас тестировал и он работает:
pastebin.com/hJ3NJywS - серверный код.
jsfiddle.net/bztd26kL - клиентский код.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы