【发布时间】:2016-01-10 05:55:19
【问题描述】:
我有以下几点:
脚本:
function poll(){
$.ajax({
...
url: poll.php,
success: function(res){
$('#count').html(res);
poll();
}
});
}
poll();
poll.php:
session_start();
$count = $_SESSION['count'];
session_write_close();
while(true){
$newcount = $_SESSION['count'];
if($newcount != $count){
$count = $newcount;
break;
}
sleep(1);
}
echo $count;
在我的 php 中,当 $_SESSION['count'] 发生更改时,它会脱离 while loop 然后更新 DOM 元素 '#count 然后再次轮询更改。但我的问题是,当我尝试从另一个实例更改$_SESSION['count'] 时,运行poll 的实例继续等待请求完成。这意味着在我的poll.php 中,即使我从另一个实例更改了$_SESSION['count'],它也不会脱离while loop。
这里有什么问题?
【问题讨论】:
-
你在哪里换
$_SESSION['count']? (它不在您粘贴的代码中。) -
@jbafford 我只是用
session_start();和$_SESSION['count'] = anynum执行一个php;