我在第一次尝试在项目中使用server sent events
,我对此很兴奋。因为我终于可以告别AJAX了。 (我喜欢AJAX,但不喜欢我现在正在做的事情)。任何方式,我试图使用服务器发送的事件来检查我的服务器(PHP脚本)的ping,如果发生ping,显示一个简单的警报('你好世界');在我的页面。Javascript:在PHP中使用服务器发送的事件?
但是,我不知道为什么我从来没有在我的网页上得到任何东西..没有错误要么表明出了问题。
这是我的JavaScript服务器发送代码:
var pin =localStorage.getItem("pin");
var evtSource = new EventSource("https://example.com/check-for-orders.php?pin="+pin+"");
evtSource.addEventListener("ping", function(e) {
var data = JSON.parse(e.data);
alert(data);
alert('Hello World');
}, false);
,这是我的PHP代码:
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");
//header("Connection: keep-alive");
session_start();
//Don't forget to enable mod_headers module in httpd.conf.
include "../config/connect.php";
// This block grabs the whole list for viewing
$pin = $_GET['pin'];
$pin2 = $pin.', ';
$sql = "SELECT * FROM orders WHERE something=0 LIMIT 1";
$query = mysqli_query($db_conx, $sql);
$productCount2 = mysqli_num_rows($query);
if ($productCount2 > 0) {
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$id2 = $row["id"];
$full_address = $row["full_address"];
$drop_address = $row["drop_address"];
$uPhone = $row["uPhone"];
$ulat = $row["ulat"];
$ulng = $row["ulng"];
$ORDER_ID = $row["order_id"];
echo "event: ping\n";
echo "".$ORDER_ID." - Pick Up Location: ". $full_address ."";
echo "<br /><br />";
echo "Drop Location: ".$drop_address.", Phone: ".$uPhone."";
}
} else {
}
mysqli_close($db_conx);
?>
可能有人请告知这个问题?
任何帮助,将不胜感激。
将消息放入代码的其他部分,然后尝试。 –
@DhirenVasoya,抱歉,我没有明白你的意思!什么信息? – Jackson
在上面的代码中,有一部分目前是空白的,就像这样。 else {echo“有一些错误”; } –