我想得到一个简单的解释,如何在PHP中嵌入javascript工作以及为什么我们需要回应它。我只需要了解嵌入javascript到php的概念。我可能只是让自己感到困惑,但我只是需要有人来阐明这个话题。
答案 0 :(得分:2)
它与任何其他编程语言一样 - 您只能使用特定的编程语言来完成某些任务。 e.g。
<?php
$x = 42; // php variable assignment
alert($x); // javascript function call
这永远不会奏效。 `alert()是一个JS函数,它(通常)在PHP中没有模拟,因此会因未定义的函数错误而死亡。
由于PHP可以嵌入其他语言,因此其他语言可以嵌入&#34;在PHP中,你 HAVE 在两者之间有明确的分隔符,因此编译器可以告诉一种语言的结束和另一种语言的开始。使用php,可以通过做一个&#34; echo&#34;来实现。 JS代码,或者#34;爆发&#34; PHP模式:
<?php
$x = 42;
?>
alert(<?php echo $x; ?>);
或
<?php
$x = 42;
echo 'alert(' . $x . ')';
它归结为&#34; context&#34;。如果您处于PHP模式(例如在<?php ... ?>
块内,您正在编写PHP代码,而您在其中使用的任何其他语言(html,JS)只是纯文本而不是PHP关心。
如果你&#34; out&#34;在PHP模式中,您可以使用周围块正在使用的任何语言环境。
<script>
var x = 42;
<?php // some php code here that causes output />
</script>
在上述情况下,您的&#34;上下文&#34;是javascript - PHP导致输出的任何内容必须在其嵌入的Javascript上下文中有效。
所以,而
var x = <?php echo 42; ?>;
会起作用,因为42
是该特定位置的有效文本位,所以
var x = <?php echo '</script>'; ?>;
这会产生非感性的
var x = </script>;
答案 1 :(得分:0)
JavaScript是客户端,PHP是服务器端... PHP无法访问Javascript。你必须使用类似AJAX的东西传回和第四个..另一方面,你可以在JavaScript中显示PHP。 / p>
<?
$a = "25";
?>
<script>
alert(<? echo $a ?>)
</script>
虽然有效但反之亦然,除非您使用Ajax。
答案 2 :(得分:0)
您应尽可能尝试将语言分开。
与PHP分析的任何其他数据一样,它只会输出您告诉它的内容。因此,如果您不告诉PHP将数据发送到浏览器,它就不会发送它。
关于语言分离,有大量的PHP模板引擎可以开箱即用,为您完成此任务。你只需要在他们的框架内工作。