当我接到电话时,我正在使用第三方API来调用服务器上的URL。
我正在尝试实现服务器发送事件,以便在API调用我的URL时重新加载浏览器,但是当我对api_new_call
函数进行POST测试时页面不会刷新。
我正在使用PHP(codeigniter)
使用Javascript:
var source = new EventSource("/controller/new_call_trigger");
source.onmessage = function(event) {
location.reload();
};
Controller.php这样:
public function api_new_call() {
$called_number = $this->input->post('called_number');
$calling_number = $this->input->post('calling_number');
$new_cad = $this->Model->api_new_cad($calling_number);
$this->new_call_trigger();
}
public function new_call_trigger() {
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
echo "data: TEST";
flush();
}
答案 0 :(得分:0)
您有此代码
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
echo "data: TEST";
flush();
这些标题都没有刷新页面。您将要添加此内容。
header('Location: ' . $_SERVER['REQUEST_URI']);
将其添加到echo
上方,否则您的标题已经发送错误。
此外,请检查发布信息,否则您将错误地重定向错误