刷新PHP变量时遇到问题... 刷新后的PHP变量仍然相同 - 不刷新
我的小JS:
var reload = function() {
var pred = <?php Echo json_encode(reload()); ?>;
$(".reload").fadeIn("fast").text(pred);
setTimeout(reload, 3000);
}
setTimeout(reload, 3000);
我的PHP功能:
function reload() {
ForEach ($servers as $server) {
$s = Explode(":", $server);
$Data = $status->getStatus($s[0], $s[1]);
If (!$Data) {} Else { $c1 = $c1 + $Data['Players']; }
}
Return $c1; //Players returned
}
如果我在此脚本中加入游戏,则该变量与开始时相同... 没有任何改变。为什么我的变量不清爽?我做错了什么?
感谢所有帮助,对不起我的坏人
答案 0 :(得分:3)
reload()
只被调用一次:当脚本第一次执行时。在将任何输出(包括HTML和JavaScript)发送到浏览器之前,所有PHP处理都在服务器端完成。
当您的JavaScript函数执行时,它会重新使用脚本第一次运行时reload()
生成的值。
如果要通过PHP生成新值,则需要刷新页面或创建AJAX调用以从服务器获取新数据。
答案 1 :(得分:0)
像
这样的东西var reload = function() {
$.getJSON('reload.php', function(data){
$(".reload").fadeIn("fast").text(data);
setTimeout(reload, 3000);
});
}
reload();
你的reload.php文件中的
function reload() {
ForEach ($servers as $server) {
$s = Explode(":", $server);
$Data = $status->getStatus($s[0], $s[1]);
If (!$Data) {} Else { $c1 = $c1 + $Data['Players']; }
}
Return $c1; //Players returned
}
echo json_encode(reload());