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

PHP session variable is retrieved in Javascript but becomes undefined

本文关键字:未定义 检索 会话 变量 Javascript PHP      更新时间:2023-09-26

我有两个在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 =不起作用。

起初我认为数据类型有问题,所以我试着将其转换为字符串值,但它不起作用。你知道是什么导致了这种情况吗?

Token 是一个字符串。所以你需要用引号括起来:

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