第一關 - $ _SESSION變量不能在客戶端(與JS)進行訪問。
您需要將您的數據發送到服務器,並使用一些服務器端代碼將發送的數據存儲在$ _SESSION中。
Ajax是將數據發送到服務器的一種方法。
這是使用的jQuery Post速記方法。
// Client side code in Javascript
var jsonObject={ "menu":
{
"intro":{
"intosub":"sub_1"
},
"vis":{
"visub":"sub_2"
}
};
$.post("control.php", jsonObject, function (returnedData) {
console.log(returnedData);
});
// Server Side PHP code in "control.php"
<?php
if (isset($_POST['menu'])) {
$_SESSION['obj'] = $_POST['menu'];
// these echo commands will output to the 'returnedData' variable
// that can be used in JS
echo $_SESSION['obj']['intro']['intosub'];
echo "\n";
echo $_SESSION['obj']['vis']['visub'];
}
// the output in the browser console would be
// sub_1
// sub_2
我不知道,你已經瞭解PHP是如何工作的.. – Federkun
不能混合和匹配JavaScript和PHP這樣的,如果你要創建的JavaScript要在會話存儲對象你需要將它傳遞給PHP。查看阿賈克斯 – JimL
請你舉個例子吧! – riztak