如何从JavaScript中读取PHP变量?
我知道这方面有很多问题,但我无法让它发挥作用 我的HTML(test.htm)只有以下代码如何从JavaScript中读取PHP变量?,php,javascript,variables,Php,Javascript,Variables,我知道这方面有很多问题,但我无法让它发挥作用 我的HTML(test.htm)只有以下代码 <?php $var = 'foo'; ?> <script type="text/javascript" language="javascript"> var val = "<?=$var?>"; alert(val); </script> var val=“”; 警报(val); 但是当我用浏览器打开文件时,val的值是”,而不是“foo” 我怎样
<?php
$var = 'foo';
?>
<script type="text/javascript" language="javascript">
var val = "<?=$var?>";
alert(val);
</script>
var val=“”;
警报(val);
但是当我用浏览器打开文件时,val的值是”
,而不是“foo”
我怎样才能让它工作
但是当我用浏览器打开文件时,val的值是“”,而不是“foo”
听起来您已经(并且正在使用PHP<5.4.0)。试一试
尝试:
var val=”“;
除非您有一些允许它的配置,.htm
文件不会执行PHP代码,否则您必须使用.PHP
文件
如果您在浏览器中查看HTML页面源代码,您可能会看到所有PHP代码
唯一的另一种解释是短标记
未启用,您必须使用可能您没有启用短标记,请尝试
您可能还需要注意字符串和其他内容的转义,因此如果您有比字符串更复杂的内容,可以使用JSON
<?php $var = array( 'stuff' => 'things' );?>
<?php echo json_encode($var);?>
你的帖子说你的文件扩展名是.htm。您是否将web服务器设置为将.htm文件解析为PHP?如果您的服务器只解析.php文件,请重命名您的文件并重试,因为这可以解释为什么没有处理。如果设置为parse.htm文件,则T.J.Crowder的答案最有可能是问题。您的PHP环境支持短标记吗?尝试
只是为了测试。您的测试文件是test.htm?不是php吗?@CMKanode:我读过了,不错。
var val = <?php echo json_encode($var) ?>;
var val = "<?php echo $var; ?>";
<?php $var = array( 'stuff' => 'things' );?>
<?php echo json_encode($var);?>