我使用此脚本重新加载ID为新闻的DIV,
<script type="text/javascript">
var auto_refresh = setInterval(function() {
<? if ($lim >= 5)
$lim = 0;
else
$lim = $lim + 2;
if ($cnt == 1){
$lim = 0;
$cnt += 1;
} ?>
$('#news').load('update.php?lim=<? echo $lim ?>');
}, 10000); // refresh every 10000 milliseconds
</script>
update.php包含此代码以接收lim的值,
$lim=$_GET['lim'];
但是每隔10秒,“ lim”值将发送为0。我需要根据脚本中的条件更新“ lim”值。
我使用echo命令在update.php中检查了$ lim值。始终为0。我的代码中的错误是什么?
最佳答案
您对什么是服务器端/客户端似乎有些困惑。 $lim
是一个PHP变量,因此仅在服务器端可用。您需要将逻辑更改为JavaScript。尝试这个:
var lim = <? echo $lim ?>; // assuming lim is always a number this will work.
var cnt = 0; // just guessed at what this should be initially.
var auto_refresh = setInterval(function() {
if (lim >= 5)
lim = 0;
else
lim = lim + 2;
if (cnt == 1){
lim = 0;
cnt += 1;
}
$('#news').load('update.php?lim=' + lim);
}, 10000); // refresh every 10000 milliseconds
或者,您可以更改逻辑,以在每次定时器迭代时发出AJAX请求,将
lim
变量传递给PHP并接收回新值。