源代码中的JavaScript代码不反映实际执行的代码

时间:2012-12-07 04:24:25

标签: php javascript jquery session-variables

我的javascript代码似乎正常运行。但是,当我在Chrome中查看“来源”时,它不同意实际执行的javascript。

这是我的代码:

<?php
    $_SESSION['new'] = "blue";
    if (!isset($_SESSION['old'])) { $_SESSION['old'] = "blue"; }
        echo '<script type="text/javascript">
            $(document).ready(function() {
                changeCol("'.$_SESSION["old"].'","'.$_SESSION["new"].'");
            });
          </script>';
    $_SESSION['old'] = "blue";
?>    
上一页的

$_SESSION['old']="green"。代码应该调用changeCol("green","blue"),然后设置$_SESSION['old']="blue"

事实上,这两件事都发生了,所以我的代码按其设计工作,如果我查看源代码,则说changeCol("blue","blue")。这很奇怪,因为如果在changeCol()中我将传递的变量写入console.log,我得到green, blue

因此,如果它正在调用changeCol(green,blue),为什么在查看来源时会说changeCol(blue,blue)

2 个答案:

答案 0 :(得分:12)

当您查看来源时,您可能正在提出其他请求。您的会话变量将被重置。

如果您使用的是Chrome或Firefox(您应该使用它),则可以打开Web Developer Tools或Firebug并检查实际的DOM树。 (这在脚本动态添加内容的情况下也非常有用。)

答案 1 :(得分:1)

您是否在第二页上添加了<?php session_start(); ?>