我正在使用SSE流式传输内容,而无需刷新网页。基本上我的主要程序如下:
$query = "SELECT something something";
$result = $mysqli->query($query);
// ^this will return multiple rows eventually
$content= array();
while($inside= $result->fetch_assoc()){
array_push($content,$inside);
}
//$content is now an array with multiple rows, all inserted corrected by debug
$final = json_encode($content);
//^ the json is encoded as supposed [{"something":"something"},{"another":...}]
echo "data: {$final}";
//^ which I then receive with javascript (or at least I want to).
flush();
事情是javascript中没有收到任何内容。没有错误,没有console.logs,什么都没有。我试图在javascript中使用json,但它只是感觉可怕(根本没有json)。这不可能吗?如果是这样的话怎么办呢? (我已经测试了time()并且javascript正在完全正常地转储数据)
编辑:JAVASCRIPT
var source=new EventSource("test.php");
console.log("1");
source.onmessage=function(event)
{
console.log("inside .onmessage !!!");
var data = event.data;
//data.forEach(function(each){
// console.log(each);
//});
//var data = JSON.parse(event.data);
console.log(data);
};
评论的部分与我的问题有关。所有其他行都使用time()函数进行调试。