晚上好, 我想尝试服务器发送的事件。我想要展示
NEW ATTACK FROM SINGAPORE TO MALAYSIA
这只是一个例子。
我创建了一个php脚本来制作一个充满国家/地区的数组,然后从array
访问任何一个国家/地区。之后我echo
数据。我使用事件源来传输来自PHP脚本的数据......但是,我无法在HTML
页面上看到任何内容。相反,PHP脚本再次在网络选项卡中再次执行
当我在网络标签中观察事件流时,数据为空
我按照w3schools的代码进行了尝试。我想我没有错过任何东西.. 我的代码在下面找到..
shownewattack.php代码:
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$countryarr = array("UNITED STATES", "INDIA", "SINGAPORE","MALAYSIA","COLOMBIA","THAILAND","ALGERIA","ENGLAND","CANADA","CHINA", "SAUDI ARABIA");
$length = sizeof($countryarr);
$random = rand(0,$length);
$random1 = rand(0,$length);
$random_srccountry = $countryarr[$random];
$random_dstcountry = $countryarr[$random1];
echo "[x] NEW ATTACK: FROM [".$random_srccountry."] TO [".$random_dstcountry."] \n\n";
flush();
?>
HTML代码:
<!DOCTYPE html>
<html>
<body>
<h1>Getting server updates</h1>
<div id="result"></div>
<script>
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("shownewattack.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...";
}
</script>
</body>
</html>
我的问题是为什么我的页面上没有输出,尽管脚本多次执行。你能解决这个问题吗?谢谢