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

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

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

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

4

2 回答 2

2

当在我的 javascript 中使用它时,我得到一个“意外的令牌<”错误。

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

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

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

于 2013-09-16T14:23:08.653 回答
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>

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

于 2013-09-16T11:01:50.460 回答