我的JavaScript代码看起来像它应该的那样工作。但是,当我在Chrome中查看源代码时,它不同意实际执行的JavaScript。源代码中的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)
当我查看源?
js在PHP之前...它不可能.... php是服务器端,js是客户端 –
当您查看源代码时,您的浏览器可能会再次请求该页面,因此您将获得全新的页面新的会话值。 –
你叫过session_start()吗? – blackbourna