当我输入这样的代码时:
<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文件中,它就不再起作用了。救命啊!
答案 0 :(得分:6)
那是因为它不再是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>
答案 1 :(得分:0)
PHP在服务器端处理,而不是在客户端处理。您无法在客户端执行PHP代码。
答案 2 :(得分:0)
这一切都无法在JS中运行php。 第二个是你必须做这样的smth以避免评论问题:
//<![CDATA[
function showName() {
document.getElementById("name").innerHTML = "<p>Hello <? echo $name; ?>, How are you?</p>";
}
//]]>
答案 3 :(得分:0)
从 2021 年开始:
1-你可以使用js和php。
2- CDATA 已弃用。