2013-05-10 45 views
0

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

PS:我可以用PHP的价值,但我需要它在JS(jQuery的)

谢谢

回答

3

这个插件无法访问PHP的会话变量(无插件可以这将是一个严重的安全缺陷)。您必须将它们从PHP传递给JavaScript。

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

哦!我看到你在那里做了什么!大声笑你给了我一个想法,甚至知道这将是一个令人头疼的执行,因为我有在单独的.js文件中使用session.get的代码!但是,非常感谢:) – 2013-05-10 20:38:46

+1

您还可以将它存储在相关的元素中:'

">
' – 2013-05-10 20:41:26

+0

不,我已经设法将它放在我的导航栏php文件中,我包含了每个成员都可以访问的位置,所以我应该感谢上帝我有这个文件:)但任何方式,请留下评论我可能需要那种方法有一天..谁知道? – 2013-05-10 20:48:29

1

当您设置会话变量用PHP那么该变量存储在服务器上,它只能通过PHP访问不jQuery的。 JQuery变量存储在客户端计算机中,只能由jQuery访问。

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

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

但很可能第二种方法可能会发布更多的信息,然后你真的想要。