use*_*031 4 javascript php mysql notifications server-sent-events
我正在使用HTML5 Server-Sent Events。
实际上,我需要在任何新记录插入数据库(php/mysql)时显示通知(新记录输入和未读记录)。
所以为了测试目的,我只是尝试了总行数。但是我在本地主机中收到此错误消息:
火狐不能建立在HTTP的服务器的连接://本地主机/project/folder/servevent/demo_sse.php。
该行是:
var source = new EventSource("demo_sse.php");
Run Code Online (Sandbox Code Playgroud)
我试过这个:
索引.php
<script>
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
document.getElementById("result").innerHTML = event.data;
};
} else {
document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
}
</script>
<div id="result"></div>
Run Code Online (Sandbox Code Playgroud)
演示_sse.php
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$db = mysql_connect("localhost", "root", ""); // your host, user, password
if(!$db) { echo mysql_error(); }
$select_db = mysql_select_db("testdatase"); // database name
if(!$select_db) { echo mysql_error(); }
$time = " SELECT count( id ) AS ct FROM `product` ";
$result = mysql_query($time);
$resa = mysql_fetch_assoc($result);
echo $resa['ct'];
flush();
?>
Run Code Online (Sandbox Code Playgroud)
请让我知道出了什么问题。
我知道通知我们可以使用 Ajax 有一些间隔时间,但我不想要这样的东西。因为我有 N 条记录,这可能会减慢我的资源速度。
根据这个,
有几个“规则”需要满足,而您目前缺乏:
它有点像:
echo "data: {$resa['ct']}\n\n";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5706 次 |
| 最近记录: |