如何从JavaScript中读取PHP变量?

QLa*_*nds 2 javascript php variables

我知道有很多问题,但我不能让它发挥作用.

我的HTML(test.htm)只有这个代码

<?php
$var = 'foo';
?>
<script type="text/javascript" language="javascript">
var val = "<?=$var?>";
alert(val);
</script>
Run Code Online (Sandbox Code Playgroud)

但是当我用浏览器打开文件时,val的值是"<?=$var?>" 而不是'foo'

我怎样才能使它工作?

Wes*_*rch 7

除非你有一些配置允许它,.htm文件将不会执行PHP代码,你将不得不使用一个.php文件.

如果您在浏览器中查看HTML页面源代码,您可能会看到所有PHP代码.

唯一的另一种解释是<? ?>没有启用短标签,你必须使用
<?php echo $var; ?>


T.J*_*der 5

但是当我用浏览器打开文件时,val的值是""而不是'foo'

听起来你已经禁用了短标签(并使用PHP <5.4.0).尝试

var val = "<?php echo $var ?>";
Run Code Online (Sandbox Code Playgroud)

编辑:并注意CM Kanode对问题的评论:如果它是一个.htm文件,可能是你的服务器根本没有通过PHP运行它(这需要特殊的配置,可能不是一个好主意).(您是通过http://URL打开的,对吗?不在本地打开文件?因为除非涉及PHP服务器,否则无法处理PHP标记.)


更好的是,让json_encode我们确保价值是引用的财产等等:

var val = <?php echo json_encode($var) ?>;
Run Code Online (Sandbox Code Playgroud)