在PHP中嵌入JavaScript

时间:2015-04-20 21:31:54

标签: javascript php

我想得到一个简单的解释,如何在PHP中嵌入javascript工作以及为什么我们需要回应它。我只需要了解嵌入javascript到php的概念。我可能只是让自己感到困惑,但我只是需要有人来阐明这个话题。

3 个答案:

答案 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模板引擎可以开箱即用,为您完成此任务。你只需要在他们的框架内工作。