Comet
是一種長連接的技術;
創建事例
首先我們建立一個簡單的項目,然後放到本地的Apache服務器下啓動;
//data.php
<?php
header("Content-type:appliacetion/json;charset=utf-8");
$res=array('success'=>"ok","text"=>"我是測試的文本");
echo json_encode($res);
?>
<meta charset="UTF-8">
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<h1>測試</h1>
<script type="text/javascript">
$.ajax({
url: "data.php",
dataType: "json",
success: function(data) {
console.log(data)
}
});
</script>
我們怎麼做?
以往很多是寫一個定時器.每隔一段時間做一個請求
方法一:
//index.html
<?php
//data.php
//header("Content-type:appliacetion/json;charset=utf-8");
// 這句的意思是;讓我們的前段或者是後端沒有輸出; 實時輸出
header("Cache-Control:max-age=0");
while(true){
$res=array('success'=>"ok","text"=>"我是測試的文本");
echo json_encode($res);
//緩存頁面
ob_flush();
//結束緩存
flush();
}
?>
方法二:
<meta charset="UTF-8">
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<h1>測試</h1>
<script type="text/javascript">
function cun() {
$.ajax({
url: "data.php",
dataType: "json",
success: function(data) {
console.log(data)
cun()
}
});
}
cun()
</script>
<?php
header("Content-type:appliacetion/json;charset=utf-8");
$res=array('success'=>"ok","text"=>"我是測試的文本");
sleep(1)
echo json_encode($res);
?>