-1

我的 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)在我查看源代码时显示?

4

2 回答 2

12

当您查看源代码时,您可能会提出额外的请求。您的会话变量将被重置。

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

于 2012-12-07T04:27:16.227 回答
1

<?php session_start(); ?>在第二页上写了吗?

于 2012-12-07T04:28:56.880 回答