0

我在 PHP 上有一个变量:($_SESSION["logCode"]设置了值并启动了会话)但我无法使用jquery.session.js插件和以下方法在 jQuery 中访问它:($.session.get('logCode')它给了我未定义的)。谁能告诉我有什么问题,我该如何解决

ps:我可以用php获取值,但我需要在JS(jQuery)中

谢谢

4

3 回答 3

3

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

var myVar = '<?php echo $_SESSION["foobar"]; ?>';
于 2013-05-10T20:36:39.853 回答
2

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>";

但很可能第二种方法可能会发布比您真正想要的更多信息。

于 2013-05-10T20:42:26.337 回答
1

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

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

于 2013-05-10T20:40:17.247 回答