如何分离PHP代码和Javascript代码

时间:2012-12-05 23:30:06

标签: php javascript

  

可能重复:
  How can I separate javascript from PHP when the JS needs a PHP variable?
  How to define a variable in JavaScript with PHP echo function?

例如,我有以下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放入?什么是最好的解决方案?

2 个答案:

答案 0 :(得分:1)

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

这是一个例子:

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

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

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

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

<?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>

答案 1 :(得分:0)

在php文件中设置javascript(application/javascript)的标头。然后在script标记中,将src属性指向该文件。做相应的php文件中需要回应(或条件,检索)。