在JavaScript中运行PHP代码?这可以使用吗?

时间:2010-10-15 00:01:35

标签: php javascript

我不确定是否可以在JavaScript函数中运行PHP系列。例如:

<script language=javascript>
var int=self.setInterval("message()",1000);
function message()
  {
<?PHP mysql_query("SELECT * FROM example"); ?>
  }
</script>

我没有试过运行它,但我认为你不能像这样运行PHP。有谁可以帮忙。我可以在javascript函数中以某种方式运行PHP脚本,而无需通过Ajax调用外部PHP文件吗?

4 个答案:

答案 0 :(得分:12)

让我们谈谈基本面:)

PHP是一种语言,在这种情况下,可以在您的Web服务器上运行。它生成人们看到的网页,并且所有PHP代码在页面发布给用户时已经完成。它仅在服务器和服务器上运行:而不是Web浏览器。

Javascript是一种语言,在这种情况下,可以在用户的​​Web浏览器上运行。它提供了与页面创建时给出的数据的基本交互性,并且无法直接与数据库交互。 Javascript仅在Web浏览器和Web浏览器上运行:不是服务器。

由于数据库在服务器上,并且Javascript无法访问服务器上的内容, Javascript必须发送HTTP请求才能与服务器通信以访问数据库。在这种情况下,这意味着一个AJAX请求。由于PHP是您的服务器端语言,这意味着创建一个PHP脚本来从数据库中获取您需要的内容,并将其放在Javascript中以便读取的形式,可能使用PHP的json_encode来生成格式和类似jQuery的$.getJSON来获取和解码数据。

我们必须在网络上使用的所有不同语言都会让事情变得有点棘手。在开始大项目之前,可能值得尝试更好地了解网络的运作方式......但我祝你好运!

答案 1 :(得分:5)

你正好相反。你的主文件是PHP,PHP解析器将解释它并从中创建一个HTML页面,它可能包含也可能不包含JavaScript。该文件将被发送到客户端,然后客户端将解释任何JavaScript。

JavaScript =客户端。

PHP =服务器端。

答案 2 :(得分:2)

否 - 查询将在服务器上运行一次,JavaScript将调用一个空函数。

注意,您应该只使用message,否则将在内部调用JavaScript的eval()

答案 3 :(得分:1)

你需要用php打印一些东西。我不明白你想做什么。您可以在javascript中使用php进行模板化,但我建议您使用ajax。

我会在javascript端使用jQuerys .ajax()函数,在php端使用echo json_encode($result_array)