如何从JavaScript访问PHP变量?

时间:2010-06-12 04:19:36

标签: php javascript

如何在JavaScript中调用PHP变量或查询?

5 个答案:

答案 0 :(得分:3)

<script>
    var foo = <?php echo $foo; ?>;
    // or, if foo is a string;
    var foo = '<?php echo addslashes($foo); ?>';
    // for anything more complex, you'll need to use json_encode, if available in your version of PHP
    var foo = <?php echo json_encode($foo); ?>;
</script>

请注意,您只能这样做。不要指望你在javascript中做出的任何改变都要通过PHP。

答案 1 :(得分:2)

PHP和JavaScript不能直接混用。您使用PHP服务器端生成JavaScript并将JavaScript发送到客户端。 JavaScript执行客户端,只能通过AJAX调用与服务器上的PHP代码进行通信。通过使用像jQuery这样的AJAX库,可以大大简化这一过程。

答案 2 :(得分:2)

您必须记住,您的PHP代码在服务器上进行评估,而JavaScript(通常)在浏览器中运行。评估在不同时间,不同地点进行。因此,您无法从PHP调用JavaScript函数(或变量),因为您无法调用另一台计算机上存在的函数。

您可能想要检查Ajax是否适合解决您的问题。

答案 3 :(得分:1)

一般来说,你不能。 PHP是服务器端,Javascript是客户端(由浏览器处理)。

例外是使用AJAX,它允许您访问PHP页面,然后执行所需的操作。

答案 4 :(得分:1)

您可以将JSON用于此目的,这非常适合从PHP向Javascript发送大数组。我们需要在PHP脚本中回显JavaScript代码,或者我们可以使用Ajax。但通常我们可能需要发送一个大阵列。所以我们可以这样做

<script>
    <?php
        $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
    ?>
    var foo = echo json_encode($arr);
</script>

json_encode函数将处理所有转义和其他问题。错误还要确保PHP版本中有json_encode