将内联 PHP 中的值传递给 JavaScript 变量


Passing a value in inline PHP to a javascript variable

var testvr = <?php echo 5;?>;

当我的javascript中使用它时,我收到"意外令牌<"错误。我已经看到无数人设置这样的javascript变量的例子,所以我有点困惑。我见过有些人这样做

var testvr = "<?php echo 5;?>";

但这会将代码作为字符串传递给变量。我真的只是在寻找一种方法来简单地将 javascript 变量设置为 php 中的东西,一点也不花哨,它只是一个数字,例如 5。

当我在我的 javascript 中使用它时,我收到"意外令牌<"错误。

这意味着在将文件交付到浏览器之前,您不会通过 PHP 解析器传递文件。

大概您正在将PHP放在.js文件中。将该文件重命名为 .php 或配置服务器以使用 PHP 处理.js文件。

不要忘记 PHP 将默认为发送Content-Type: text/html因此请确保包含header("Content-Type: application/javascript");

使用对象是安全的:

<?php
   $vars = array('var1' => 'val1', 'var2' => 'val2', 'intvar' => 55);
?>
<script>
   var myvars = <?php json_encode($vars);?>
   console.log(myvars.var1);
   console.log(myvars.var2);
   console.log(myvars.intvar);
</script>

以上内容会将数字保留为数字,所有不安全的字符都将被转义。