试试这个http://www.w3schools.com/html/html5_serversentevents.asp
SSE是做到这一点的最好办法。
试试这个代码
<script>
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
//display data in event array.
};
} else {
//Use your old interval if SSE not support in browser
}
</script>
在PHP代码
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');//this is important
$arr=['status'=>1,'data'=>$some_array];
$retry="retry: 10000\n";
echo $.retry."data: ".json_encode($arr)."\n\n";
flush();
?>
你需要添加“数据:”在开始的显示给SSE知道这是您的数据和“\ n \ n“数据的结尾。
,并添加重试,所以都刷新10000 = 10秒
这篇文章解释了一个更好的方法比我所能解释http://techoctave.com/c7/posts/60-simple-long- polling-example-with-javascript-and-jquery/ – NullHappens
这是一个很棒的阅读,谢谢 –