3

可能重复:
当 JS 需要 PHP 变量时,如何将 javascript 与 PHP 分开?
如何使用 PHP echo 函数在 JavaScript 中定义变量?

例如,我有以下 Javascript 代码。它使用 PHP 变量。

<script>
 $(function() {
     for(var items = 1; items <=<?php echo $items;?>; items++){
         print_percentage_is("div.is"+items);
     }
});
</script>

将 Javascript 代码与我的 Html/PHP 代码分开的最佳解决方案是什么?对于这种情况,我不能使用这种方式

<script type="text/javascript" language="javascript" src="/js/change.js"></script>

我需要创建一个 PHP 文件并放入 javascript 吗?最好的解决方案是什么?

4

2 回答 2

1

如果您的 JavaScript 需要直接使用数据,AJAX 是一个非常可怕的解决方案。相反,您可以创建一个单独的<script>标签来将 PHP 变量传递给页面,使用json_encode().

这是一个例子:

<script type="text/javascript">
var my_variable = <?php echo json_encode($my_variable); ?>;
</script>

在页面中,您将像这样使用它:

<script>
$(function() {
    console.log(my_variable);
});
</script>

如果您需要传递多个变量,有时最好在 PHP 中将它们组合在一起,如下所示:

<?php
$data = array(
    'items' => array(1,2,3,4),
    'users' => array(array('name' => 'John'), array('name' => 'Jane')),
);
?>
<script>
var data = <?php echo json_encode($data); ?>;
</script>

<script>
$(function() {
    console.log(data.items);
    console.log(data.users);
});
</script>
于 2012-12-05T23:37:48.593 回答
0

application/javascript在 php 文件中设置 javascript ( ) 的标头。然后在script标签中,将src属性指向该文件。在相应的 php 文件中执行所需的任何回显(或条件、检索)。

于 2012-12-05T23:50:00.293 回答