0

无法将 php 会话变量传递给 javascript 字符串变量

虽然$_SESSION['Id'] 变量存在,但 javascript 似乎至少不能用这种语法来实现它:

代码

<?php session_start(); ?>

<script>
var a = "<?php echo $_SESSION['Id']; ?>";
alert(a);
</script>
4

3 回答 3

2

你的语法看起来不错。如果你写这个会发生什么?

<?php
php session_start();

echo '<div style="padding:30px; background-color:#ffffff;"><pre>'.print_r($_SESSION, true).'</pre></div>';

?>

<script>
var a = "<?php echo $_SESSION['Id']; ?>";
alert(a);
</script>

如果这不起作用,请尝试在回显之前手动设置 ID

<?php
php session_start();

$_SESSION['Id'] = 'AN ID!!!';

echo '<div style="padding:30px; background-color:#ffffff;"><pre>'.print_r($_SESSION, true).'</pre></div>';

?>
于 2013-08-29T20:29:47.563 回答
1

首先,就像评论中提到的那样,确保您使用正确的 id 大小写,无论是id还是Id.

其次,尝试使用json_encode将其转换为 javascript 使用。不需要""

var a = <?php echo json_encode($_SESSION['Id']); ?>;
于 2013-08-29T20:24:56.360 回答
1

试试这个看看变量 $_SESSION['Id'] 是否存在并设置为某个值

<?php 
    session_start();

    print_r( $_SESSION );
?>

<script type="text/javascript">
  var a = "<?php echo $_SESSION['Id']; ?>";
  alert(a);
</script>
于 2013-08-29T20:27:34.890 回答