EventSource的响应具有不是“ text / event-stream”的MIME类型(“ text / html”)。中止连接。标头设置为文本/事件流

问题描述 投票:1回答:1

嗨,我使用sse在控制台中收到此错误

EventSource的响应具有不是“ text / event-stream”的MIME类型(“ text / html”)。中止连接。

js代码是:

if (typeof(EventSource) !== "undefined") 
{
    var source = new EventSource("../api/updateWellData.php?uid=<?php echo $node_id ?>");
    source.onmessage = function(event) {
        var response = JSON.parse(event.data);
        document.getElementById("result").innerHTML = response.test;
        // some code like the above line
    };
}  
else 
{
    // refresh the page every 30 secs
} 

PHP代码是:

header('Cache-Control: no-cache');
header("Access-Control-Allow-Origin: *");
header("Content-Type: text/event-stream");

require_once("../resources/config.php");

if (isset($_GET['uid']))
{
    $uid = $_GET['uid'];
    while (1) 
    {
        $query = Query("SELECT * FROM well_data_last WHERE well_detail_id = $uid");
        $result = fetch_array($query);
        echo json_encode($result);
        ob_end_flush();
        flush();
        sleep(1);
    }
}

这是我第一次使用sse,我使用了以下文档:mozilla | w3schools

javascript php server-sent-events
1个回答
0
投票

我有同样的问题,问题是php文件中的语法错误,显示了错误消息。

© www.soinside.com 2019 - 2024. All rights reserved.