我有两个会话变量,我在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 =不起作用。
起初我以为数据类型存在问题,所以我尝试将其转换为字符串值,但它不起作用。有什么可能导致这种情况的想法吗?
答案 0 :(得分:7)
令牌是一个字符串。所以你需要在它周围加上引号:
var token = '<?php echo $_SESSION['accesstoken']; ?>';