$_SESSION的问题是jQuery


Issue with the $_SESSION is jQuery

我在PHP上有一个变量:$_SESSION["logCode"](值设置和会话开始),但我不能使用jquery.session.js插件和以下方法在jQuery中访问它:$.session.get('logCode')(它给我未定义)。谁能告诉我是什么问题,我怎么能解决它?

ps:我可以得到与php的值,但我需要它在JS (jQuery)

谢谢

该插件不能访问php会话变量(没有插件可以,这将是一个严重的安全漏洞)。你必须把它们从PHP传递给javascript。

var myVar = '<?php echo $_SESSION["foobar"]; ?>';

js将无法访问PHP会话存储。你能做到这一点的唯一方法是通过在你的页面上注入js,将它暴露在你的PHP页面上。PHP中是

echo "<script type='text/javascript'>";
echo " var logCode = '".addslashes($_SESSION["logCode"])."';";
echo "</script>";

或者如果你想从会话中批量获取所有内容,你可以这样做:

echo "<script type='text/javascript'>";
echo " var sessionData = ".json_encode($_SESSION).";";
echo "</script>";

但是第二个方法可能会发布比你真正想要的更多的信息

当你用php设置会话变量时,该变量存储在服务器上,它只能由php访问,而不是jquery。JQuery变量存储在客户端计算机中,只能通过JQuery访问。

您可以使用AJAX通过jquery从客户端计算机访问会话变量