-1

我遇到了 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

4 回答 4

6

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

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

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

于 2012-07-24T19:05:08.060 回答
1

使用 .php 文件扩展名,这将起作用。

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

于 2012-07-24T19:07:03.190 回答
1

您说您的代码所在的文件具有 .html 扩展名,它应该是 .php 以呈现 php 代码。

于 2012-07-24T19:11:51.987 回答
0

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

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

保存文件,然后在 html 文件的开头添加以下 php 行 -> 你可以在选定的 html 文件中编写 php 代码

或者您可以添加以下规则

 RewriteEngine On
 file.html file.php
于 2012-07-24T19:21:05.910 回答