試試這個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
這是一個很棒的閱讀,謝謝 –