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>
以上内容会将数字保留为数字,所有不安全的字符都将被转义。