【问题标题】:Refresh div if PHP page returns true? [duplicate]如果 PHP 页面返回 true,则刷新 div? [复制]
【发布时间】:2012-03-05 22:02:20
【问题描述】:

可能重复:
jQuery refresh if PHP file echo's 'true'

我的索引上有以下 div:

<div id='tv'> <? include 'tv.php' ?> </div>

我有一个脚本可以更改 tv.php 中的内容并在特定时间返回“true”,称为 checktime.php。

我试图让 jQuery 在索引标题中每 10 秒检查一次 PHP 页面,如果 checktime.php 返回“真”,则 jQuery 会“刷新”#tv div 的内容。这是我目前拥有的代码,但它不起作用。似乎检查了 checktime.php 但 div 不会自动刷新。

<script src="http://code.jquery.com/jquery-latest.js"></script>

<script type="text/javascript">
$(document).ready(function(){
    setInterval("checkTime()", 10000);
    function checkTime(){
        $.ajax({
            url: 'checktime.php',
            success: function(refresh){
                if($.trim(refresh) == "true"){
                    $('#tv').load('tv.php');
                }   
            }
        });
    }

});
</script>

【问题讨论】:

  • 您是否验证过'refresh' (console.log( refresh)) 的值?您是否验证过 tv.php 的输出实际上在调用之间发生了变化?
  • 尝试在您的$.ajax() 调用中隐式设置dataType。也许它没有将返回数据解释为文本或 html。
  • 不只是重复,而是同一个用户。 ;-) Daan,您无需在第二个线程中问同样的问题。我同意 Crontab,这就是为什么我建议在您的其他线程中使用 JSON。至少,尝试提醒“$.trim(refresh)”的值,看看它是否是你要找的。​​span>

标签: javascript jquery


【解决方案1】:

看看这是否更适合您,您需要调整 SetInterval 以使用 jQuery:

$(document).ready(function(){
    setInterval(function() {
        $.ajax({
            url: 'checktime.php',
            success: function(refresh){
                if($.trim(refresh) == "true"){
                    $('#tv').load('tv.php');
                }   
            }
        });
    }, 10000);

});

【讨论】:

    猜你喜欢
    • 2013-02-19
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 2019-03-21
    • 2011-11-14
    • 1970-01-01
    相关资源
    最近更新 更多