我使用此脚本重新加载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并接收回新值。

09-19 12:13