可能重复:
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放入?什么是最好的解决方案?
答案 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文件中需要回应(或条件,检索)。