2011-09-15 57 views
3

我有两个会话变量,我在Javascript代码中检索。这是代码的设置方式:PHP会话变量在Javascript中检索,但变得不明确

<html> 
    <head> 
    </head> 
    <body> 
     <p><?php echo $_SESSION['userid'] ?></p> --> This works and value is shown 
     <p><?php echo $_SESSION['accesstoken'] ?></p> --> Value is also shown 
     <script type="text/javascript"> 
      var userid = <?php echo $_SESSION['userid'] ?>; 
      var token = <?php echo $_SESSION['accesstoken'] ?>; 
      alert(userid); --> this works and shows pop up with value 
      alert(token); --> this doesnt work and is undefined 
     </script> 
    </body> 
</html> 

这是用户ID的价值:551234131

这是我的代币的价值: AAADAq39fEZA0BAAVJyvfZAiu1kIcaHG4SFVzuBWl3hXfC9W0g26JaqXwZAHuNdIhh2eFDkwyopunCsZCCW3jZADT8DQBjZCAdRTC5PkgtN4wZDZD

令牌值存储在之前会话变量它实际上保存在另一个JavaScript变量中没有任何问题(即我可以用alert()调用该变量,并显示令牌)。

因此,将此值从JavaScript转换为会话变量=没有问题。 但是将相同的值FROM会话变量传递给Javascript = does not work。

起初我以为数据类型有问题,所以我尝试将它转换为字符串值,但它不起作用。有什么想法可能会导致这种情况?

回答

7

令牌是字符串。所以你需要把它引用它:

var token = '<?php echo $_SESSION['accesstoken']; ?>'; 
+0

啊哈!,我试图用String()来施放它。谢谢你解决了这个问题! – Jean

+0

嘿吉恩,如果修好了,你应该接受答案:-) – bittersweetryan