如何将PHP变量传递给javascript?

und*_*ned 3 javascript php session parameter-passing

我想使用PHP变量作为javascript变量 - 特别是我想用PHP变量session_id(); 并将其用作javascript变量.

<?php
$php_var = session_id();
?>
<script language="JavaScript" type="text/javascript">
js_var = <?php echo($php_var ?>;
</script>
Run Code Online (Sandbox Code Playgroud)

这似乎应该适合我,但它没有人能提出更好的方法吗?

jwu*_*ler 13

我能想到的最好的方法看起来像这样:

<?php
$php_var = session_id();
?>
<script type="text/javascript">
    var js_var = <?php echo json_encode($php_var); ?>;
</script>
Run Code Online (Sandbox Code Playgroud)

PHP的json_encode函数始终生成有效的JavaScript,如果您只是输出随机值,则无法确保这一点.如果您决定不使用json_encode(),您至少应该使用引号括起php值以防止语法错误.注意逃避!

<?php
$php_var = session_id();
?>
<script type="text/javascript">
   var js_var = "<?php echo $php_var; ?>";
</script>
Run Code Online (Sandbox Code Playgroud)

  • 'json_encode`为+1.这就是它的用途.不要使用raw-echo版本.您冒着漏洞和XSS安全漏洞的风险. (4认同)