PHP变量到javascript,不起作用

时间:2012-07-24 19:02:29

标签: 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>

由于某些原因,此代码无效(按预期)。我无法将PHP变量的值传递给Javascript变量。出于某种原因,Javascript完全忽略了php标签,并为php_var赋值“”。所以它提醒我把它作为文字的PHP代码。

我做错了什么?我一直坚持这个问题3个小时。这是我服务器的问题吗? (使用网络托管,专用)。谢谢

4 个答案:

答案 0 :(得分:5)

使用json_encode()确保您获得有效的JavaScript表达式(否则新行和引号等字符会破坏内容):

var php_var = <?php echo json_encode($php_var); ?>;

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

答案 1 :(得分:1)

使用.php文件扩展名,这将有效。

如果没有,那么你变量不会有值,你可以通过使用像firebug这样的东西看到确切的问题。

答案 2 :(得分:1)

你说你的代码所在的文件扩展名为.html,它应该是.php来呈现php代码。

答案 3 :(得分:0)

好吧,你可以将文件重命名为.php,它应该可以工作,或者你可以做以下事情: 创建.htaccess文件, 添加以下代码 - &gt;

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

保存文件, 然后在html文件中添加以下php行在beggining - &gt;   你可以在所选的html文件中编写php代码

或者您可以添加以下规则

 RewriteEngine On
 file.html file.php