PHP会话变量在Javascript中检索但未定义

时间:2011-09-15 02:25:25

标签: php javascript

我有两个会话变量,我在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>

这是userid的值:551234131

这是我的令牌的价值: AAADAq39fEZA0BAAVJyvfZAiu1kIcaHG4SFVzuBWl3hXfC9W0g26JaqXwZAHuNdIhh2eFDkwyopunCsZCCW3jZADT8DQBjZCAdRTC5PkgtN4wZDZD

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

所以将此值从javascript转移到会话变量=没问题。 但是将相同的值从会话变量转移到Javascript =不起作用。

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

1 个答案:

答案 0 :(得分:7)

令牌是一个字符串。所以你需要在它周围加上引号:

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