Php DIV容器保持空白

Php DIV容器保持空白,php,javascript,ajax,json,Php,Javascript,Ajax,Json,我需要每5秒运行一次函数find_optimal_schedule(),同时每次更新DIV容器schedule。下面是我的代码片段。问题是执行了警报(“Init”),而没有执行警报(“True”)或警报(“False”)。FireBug显示,optimize.php每5秒运行一次,但我不明白为什么DIV容器的内容一直保持空白 另外,代码gantt.php工作正常,因为我在没有计时器的DIV容器中测试了它,并且甘特图显示正确。因此,我不在这里提供这段代码,因为事实并非如此 scheduler.ph

我需要每5秒运行一次函数
find_optimal_schedule()
,同时每次更新DIV容器
schedule
。下面是我的代码片段。问题是执行了
警报(“Init”)
,而没有执行
警报(“True”)
警报(“False”)
。FireBug显示,
optimize.php
每5秒运行一次,但我不明白为什么DIV容器的内容一直保持空白

另外,代码
gantt.php
工作正常,因为我在没有计时器的DIV容器中测试了它,并且甘特图显示正确。因此,我不在这里提供这段代码,因为事实并非如此

scheduler.php

<script>
window.setInterval(function(){                 
     find_optimal_schedule();
}, 5000);
</script>

<script>
function find_optimal_schedule() {
    $.ajax({
        url: 'modules/mod_scheduler/pages.php?page=optimize.php',
        dataType: 'json',
        success: function(output){
            alert("Init");
            if(output.msg === 1){
                alert("True");
                $('#schedule').html(output.html);
            } else {
                alert("False");
                return false;
            }
        }
    });
}
</script>

<div style="width:100%; height:350px; position:relative" id="schedule" class="schedule"></div>
<?php
    @session_start();

    @$pag_mod = $_GET['pag_mod'];

    if(!isset($pag_mod))
        $pag_mod = 0;

    if (isset($_GET['pag_mod'])) {
        include 'modules/mod_scheduler/'.$_GET['pag_mod'];
    }
    else {
        include 'modules/mod_scheduler/scheduler.php';
    }
?>
<?php
//  Dispay Gantt chart
$html_code = '<img src="modules/mod_scheduler/gantt.php">';

echo json_encode(array('msg' => 1, 'html' => $html_code)); 
?>

setInterval(函数(){
找到最佳计划();
}, 5000);
函数find_optimal_schedule(){
$.ajax({
url:'modules/mod_scheduler/pages.php?page=optimize.php',
数据类型:“json”,
成功:功能(输出){
警报(“初始”);
如果(output.msg==1){
警惕(“真实”);
$('#schedule').html(output.html);
}否则{
警告(“假”);
返回false;
}
}
});
}
pages.php

<script>
window.setInterval(function(){                 
     find_optimal_schedule();
}, 5000);
</script>

<script>
function find_optimal_schedule() {
    $.ajax({
        url: 'modules/mod_scheduler/pages.php?page=optimize.php',
        dataType: 'json',
        success: function(output){
            alert("Init");
            if(output.msg === 1){
                alert("True");
                $('#schedule').html(output.html);
            } else {
                alert("False");
                return false;
            }
        }
    });
}
</script>

<div style="width:100%; height:350px; position:relative" id="schedule" class="schedule"></div>
<?php
    @session_start();

    @$pag_mod = $_GET['pag_mod'];

    if(!isset($pag_mod))
        $pag_mod = 0;

    if (isset($_GET['pag_mod'])) {
        include 'modules/mod_scheduler/'.$_GET['pag_mod'];
    }
    else {
        include 'modules/mod_scheduler/scheduler.php';
    }
?>
<?php
//  Dispay Gantt chart
$html_code = '<img src="modules/mod_scheduler/gantt.php">';

echo json_encode(array('msg' => 1, 'html' => $html_code)); 
?>

optimize.php

<script>
window.setInterval(function(){                 
     find_optimal_schedule();
}, 5000);
</script>

<script>
function find_optimal_schedule() {
    $.ajax({
        url: 'modules/mod_scheduler/pages.php?page=optimize.php',
        dataType: 'json',
        success: function(output){
            alert("Init");
            if(output.msg === 1){
                alert("True");
                $('#schedule').html(output.html);
            } else {
                alert("False");
                return false;
            }
        }
    });
}
</script>

<div style="width:100%; height:350px; position:relative" id="schedule" class="schedule"></div>
<?php
    @session_start();

    @$pag_mod = $_GET['pag_mod'];

    if(!isset($pag_mod))
        $pag_mod = 0;

    if (isset($_GET['pag_mod'])) {
        include 'modules/mod_scheduler/'.$_GET['pag_mod'];
    }
    else {
        include 'modules/mod_scheduler/scheduler.php';
    }
?>
<?php
//  Dispay Gantt chart
$html_code = '<img src="modules/mod_scheduler/gantt.php">';

echo json_encode(array('msg' => 1, 'html' => $html_code)); 
?>

我认为您应该将output.msg与
=
进行比较,而不是与
=
进行比较

if(output.msg == 1){
    alert("True");
    $('#schedule').html(output.html);
} else {
    alert("False");
    return false;
}

通过nnnnn,似乎
==
对于javascript中的比较是有效的;因此,我唯一能想到的是output.msg是未定义的。由于
==
不会导致javascript错误,因此output.msg是唯一可能的其他原因。

我认为您应该将output.msg与
==
进行比较,而不是与
==
进行比较

if(output.msg == 1){
    alert("True");
    $('#schedule').html(output.html);
} else {
    alert("False");
    return false;
}

通过nnnnn,似乎
==
对于javascript中的比较是有效的;因此,我唯一能想到的是output.msg是未定义的。由于
==
不会导致javascript错误,因此output.msg是唯一可能的其他原因。

您使用的是严格相等运算符(==),而不是相等运算符


这意味着,如果除值外,还认为数据类型相等,则比较为真;可能
output.msg
是一个字符串,不等于一个数字。尝试==替换。

您使用的是严格相等运算符(==)而不是相等运算符

这意味着,如果除值外,还认为数据类型相等,则比较为真;可能
output.msg
是一个字符串,不等于一个数字。试试==相反。

试试看

console.log(output)
查看输出是否为有效对象。Firebug应该向您展示整个对象及其所有属性。

试试看

console.log(output)

查看输出是否为有效对象。Firebug应该向您显示整个对象及其所有属性。

输出.msg的值是多少?这是一个if-else,所以其中一个案例在任何情况下都会被执行,如果它之前没有失败并出现错误的话。其他浏览器也会出现这种情况吗?您调试过JSON吗?你能单独发布生成的JSON吗?@DaDaDom:如果我用alert(output.msg)替换alert(“Init”),那么根本就没有消息。我猜问题出在“pages.php”上,否?如果
output
为空,那么它就不能有任何属性,在计算If条件时会导致JS错误,因此执行会在该点停止。
output.msg
的值是多少?这是一个if-else,所以其中一个案例在任何情况下都会被执行,如果它之前没有失败并出现错误的话。其他浏览器也会出现这种情况吗?您调试过JSON吗?你能单独发布生成的JSON吗?@DaDaDom:如果我用alert(output.msg)替换alert(“Init”),那么根本就没有消息。我猜问题出在“pages.php”上,不是吗?如果
output
为null,那么它就不能有任何属性,在计算If条件时会导致JS错误,因此执行会在该点停止。我尝试更改为“=”。问题是一样的-我只看到了警报“Init”,就是这样。你是否已登录firefox。我唯一能想到的是output.msg未定义。我试图更改为“==”。问题是一样的-我只看到了警报“Init”,就是这样。你是否已登录firefox。我唯一能想到的是output.msg是未定义的。但即使它的计算结果不相等,是否应该执行else案例并显示相应的警报?谢谢。不幸的是,我试过了,但问题是一样的。这里不是这种情况。@nnnnnn的是正确的,但是你是对的,即使是这种情况,也应该显示“false”,但即使它的计算结果不相等,是否应该执行else情况并显示相应的警报?谢谢。不幸的是,我试过了,但问题是一样的。这里不是这种情况。@nnnnnn的是正确的,但是您是对的,即使是这种情况,也应该显示“false”