我的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