javascript — один файл php для html и страницы событий на стороне сервера

Я использую этот код, чтобы иметь один и тот же файл для html-страницы и динамического ответа ajax (используя jQuery):

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
$_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
echo "AJAX reponse";
exit;
}

?><!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Leash</title>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>
$(function() {
$.get('', function(data) { alert(data); });
});
</script>
</head>
<body>
</body>
</html>

Можно ли сделать то же самое с помощью серверных событий и EventSource?

0

Решение

Глядя на заголовки в инструментах разработчика, есть Accept: text/event-stream так что вы можете проверить наличие заголовка, используя:

if (isset($_SERVER['HTTP_ACCEPT']) && preg_match("%text/event-stream%", $_SERVER['HTTP_ACCEPT'])) {

// server side events code
}?><!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
...
</html><?php } ?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]