안녕하세요, 저는 PHP와 jquery로 혜성을 구현하려고합니다. 혜성은 모든 페이지로드시 시작됩니다. 그러나 그것은 웹 사이트의 모든 페이지 로딩이 10 초와 같이 매우 느리게되는 원인이됩니다. if ($ elapse> 10)에서 서버에 대한 이전 요청을 기다리고있는 것처럼 보입니다. 아약스 연결이 중단, PHP가 더 이상 실행을 중단해야하지 않는가요? 페이지를 다시로드하는 것이 왜 느려지는지 알기 원하십니까?PHP 혜성 원인 천천히 페이지 리로드
function getPendingCheckin()
{
ignore_user_abort(false);
$iCreatedDate = $this->input->post("iLastCreateDate");
$aCheckin = [];
$prev = time();
while(! $aCheckin)
{
$aCheckin = $this->getData();
if($aCheckin || connection_aborted() == 1)
{
break;
}
else
{
sleep(1);
$elapse = time() - $prev;
if($elapse > 10)
{
die();
}
}
}
header('Content-type: application/json');
echo json_encode($aCheckin);
}
자바 스크립트
$(window).ready(function(){
var iLastCreateDate = $('#iLastCreateDate').val();
function startGetPendingCheckin()
{
$.ajax({
type: "POST",
url: "/kc/comet/getPendingCheckin",
data: 'iLastCreateDate=' + iLastCreateDate,
error : function(msg)
{
//alert("Error get pending checkin");
},
success :function(o)
{
if(o)
{
//process data
}
startGetPendingCheckin();
}
});
}
startGetPendingCheckin();
})