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

时间:2013-09-16 10:58:19

标签: javascript php variables inline

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

当我在我的javascript中使用它时,我得到一个“意外的令牌&lt;”错误就行了。我看过无数人设置这样的javascript变量的例子,所以我有点困惑。我见过有人这样做

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

但是它将代码作为字符串传递给变量。我真的只是想找到一种方法来简单地将一个javascript变量设置为来自php的东西,没什么特别的,它只是一个像5这样的数字。

2 个答案:

答案 0 :(得分:2)

  

在我的javascript中使用它时,我在行上收到“意外的令牌<”错误。

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

据推测,您将PHP放在.js文件中。将该文件重命名为.php或将服务器配置为使用PHP处理.js文件。

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

答案 1 :(得分:1)

使用对象是安全的:

<?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>

上面会将数字保存为数字,所有不安全的字符都会被转义。