当我像这样输入代码时:
<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文件中,它就停止工作了。帮助!
发布于 2012-02-21 05:45:37
这是因为它不再是php。
更改为
<script type="text/javascript" src="base.php"></script>
and have a
<?php header("content-type:text/javascript");
$name = "...";
?>
function showName() {
document.getElementById("name").innerHTML = "<p>Hello <?php echo $name; ?>, How are you?</p>";
}或
更改为
function showName(name) {
document.getElementById("name").innerHTML = "<p>Hello "+name+", How are you?</p>";
}并且在php文件中有
<script>
// using json_encode to make the string safe for script injection.
// Still needs quotes for a single string
showName("<?php echo json_encode($name); ?>");
</script>发布于 2012-02-21 05:45:44
PHP是在服务器端处理的,而不是客户端。您不能在客户端执行PHP代码。
发布于 2012-02-21 05:46:28
首先,你不能在JS中运行php。第二个是你必须像这样做smth来避免评论的问题:
//<![CDATA[
function showName() {
document.getElementById("name").innerHTML = "<p>Hello <? echo $name; ?>, How are you?</p>";
}
//]]>https://stackoverflow.com/questions/9368841
复制相似问题