【发布时间】:2012-02-20 21:42:13
【问题描述】:
当我输入这样的代码时:
<p>Hello <? echo $name; ?>, How are you?</p>
打印出来:
<p>Hello <!--? echo $name; ?-->, How are you?</p>
作为评论。我将它放在一个名为 base.js 的文件中,代码如下:
function showName() {
document.getElementById("name").innerHTML = "<p>Hello <? echo $name; ?>, How are you?</p>";
}
所以我像这样嵌入 .js 文件:
<script type="text/javascript" src="base.js"></script>
所以,在它更改 <p id="name"></p> 之后,我得到:
<p id="name">Hello <!--? echo $name; ?-->, How are you?</p>
我在 .php 文件中有代码,它似乎工作正常。现在我将它放在一个单独的 base.js 文件中,它不再起作用。救命!
【问题讨论】:
-
那是因为它不再是php了。
-
您不能从 Javascript 评估 PHP 代码!好的,如果您告诉服务器将 .js 文件作为 PHP 进行预处理,您就可以摆脱它;尝试调用文件 .js.php
-
PHP 必须在输出 javascript 之前进行解析。您可能需要
-
显然 *.js 文件不会被服务器上的 php 解析。如果您愿意,您实际上可以解析 .js 文件:encodable.com/parse_html_files_as_php 但我不推荐...
-
没错。 apache 决定是否根据文件扩展名来解释文件中的 PHP 代码,通常是
*.php。您可以重命名文件base.js.php并以通常的方式包含它。您的浏览器不会介意。<script type="text/javascript" src="base.js.php"></script>
标签: php javascript html