将PHP变量转换为javascript,不起作用

将PHP变量转换为javascript,不起作用,php,javascript,html,Php,Javascript,Html,我在PHP和Javascript变量通信方面有问题。我有以下代码: <?php $php_var = 'lol'; ?> <html> <script type="text/javascript" charset="utf-8"> var php_var = "<?php echo $php_var; ?>"; alert(php_var); </script> </html> var php_var=”“; 警报

我在PHP和Javascript变量通信方面有问题。我有以下代码:

<?php
$php_var = 'lol';
?>

<html>
<script type="text/javascript" charset="utf-8">
var php_var = "<?php echo $php_var; ?>";

alert(php_var);

</script>
</html>

var php_var=”“;
警报(php_var);
由于某些原因,此代码无法正常工作(如预期的那样)。我无法将PHP变量的值传递给Javascript变量。出于某种原因,Javascript完全忽略php标记,并为php_var指定一个值“”。因此,它会提醒我将其作为文本的php代码

我做错了什么?这个问题我已经解决了三个小时了。是我的服务器的问题吗?(使用网络托管,专用)。感谢您

使用以确保获得有效的JavaScript表达式(否则,诸如换行符和引号之类的字符将破坏内容):

var php_var=;

您还需要确保为该文件实际启用了PHP。这通常是通过给文件一个
.php
扩展名来实现的。

使用.php文件扩展名,这样就可以了


如果没有,那么您的变量将没有值,您可以通过使用类似firebug的东西来查看确切的问题。

如果您说代码所在的文件有一个.html扩展名,那么它应该是.php以呈现php代码。

那么,您可以将文件重命名为.php,它应该可以工作,或者您可以执行以下操作: 创建一个.htaccess文件, 添加以下代码->

RewriteEngine On
<FilesMatch "(file.html)">
    SetHandler php5-script
</FilesMatch>

我们可以肯定的是,您用扩展名
.php
命名了该文件,对吗?我能做些什么来解决这个问题?使用AJAX?我复制并粘贴了示例中的代码,效果非常好。我在FireFox和IE中都收到了一个带有
lol
的警报。@KalonCheong这是你的问题,文件需要扩展名为。php@KalonCheong-服务器通常配置为通过php引擎运行.php文件,而不是.html文件。他需要一个JavaScript字符串
json_encode
在输入字符串时会给他一个有效的JavaScript字符串。具有讽刺意味的是,在输入字符串时不会给他一个有效的json:),但会给他一个有效的JavaScript字符串/表达式哦,是的,有效的JavaScript,只是不是json。考虑到这一点,对我来说很有效。不,不会,PHP不会在字符串中执行。@nico-字符串中没有任何包含PHP的字符串……除非您指的是JavaScript字符串(在这种情况下,您是错的,PHP不会因为模板中有引号字符而拒绝进入代码模式)。@Quentin:我的错,您是对的,当然这不一定是真的。这取决于Web服务器的配置。
RewriteEngine On
<FilesMatch "(file.html)">
    SetHandler php5-script
</FilesMatch>
 RewriteEngine On
 file.html file.php