我正在玩長時間輪詢並試圖停止由AJAX調用啓動的腳本(如果發生新請求)。 這是由一個AJAX請求開始PHP代碼:
$checker = $_SESSION['checker'] = time();
while (true) {
if ($checker != $_SESSION['checker']) {
$out = 'new one started';
break;
}
if (some other condition) {
$out = 'smth done or happend';
break;
}
sleep(3);
}
echo $out;
我一直在做一些記錄,它看起來像沒有更新$_SESSION['checker']
,所以如果我運行相同的腳本(這應該改變$_SESSION['checker']
變量) ,先前啓動的腳本中的while循環仍然會看到舊的$_SESSION['checker']
。爲什麼不更新?
'希望所有做sense'我對此表示懷疑。 –
你好,請你能澄清你的問題嗎? – brclz
我相信你應該用ajax部分來銷燬它,而不是通過PHP。在當前的httprequest上嘗試.abort()來停止它並啓動另一個。 –