当我更新数据库时,我想从服务器向客户端推送通知。
这是我的控制器:
public function finish() {
$this->autoRender = false;
try {
if($this->request->is('post')) {
$db = $this->ClientCabaInfo->getDataSource();
if($this->Session->check('client_check_data')) {
$data = $this->Session->read('client_check_data');
...
if($this->CabaInfo->save()) {
$this->webNotify();
}
}
$this->redirect('index');
}
} catch (Exception $e) {
$this->EasyLog->log(Conf::r("APP.LOG.APP_FILE"),$e->getMessage(),Conf::r("COM.LOG.FORMAT_ERROR"),'NASUCT');
$this->redirect("/errors/");
}
}
public function webNotify() {
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$time = date('r');
echo "data: {$time}";
flush();
}
在我看来,我打电话给:
if(typeof(EventSource)!=="undefined")
{
var source=new EventSource("<?php echo $this->Html->url('/client_caba/finish'); ?>");
source.onmessage=function(event)
{
notifyMe(event.data);
};
}
else
{
document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events...";
}
但是当我访问页面时:http://localhost:8080/admin/client_caba/finish
它显示一个对话框并且没有完成操作......

我哪里错了?请告诉我如何解决这个问题并将参数传递给弹出通知......谢谢