JS函数需要一个由PHP生成的变量。 .js文件无法解释<?php ?>
字符串,因此我必须从.html代码中传递它。
是的,但是从HTML运行JS代码被认为是不好的做法(就像style
元素一样)。然后该怎么办?
答案 0 :(得分:1)
您可以使用echo执行以下操作:
<? echo('<script type="text/javascript">var hello="world"</script>');
答案 1 :(得分:1)
有几种选择。首先,你可以建立你的第一个例子。
<?php
$myVariable = array('key' => 'value', 'anotherKey' => 10);
?>
// PHP variable output in javascript's object syntax
var phpData = <?php echo json_encode($myVariable); ?>;
// value
console.log(phpData.key);
// 10
console.log(phpData.anotherKey);
另一种选择是使用对PHP脚本的Ajax请求来检索数据。根据您的问题,此选项很可能没用,因为您在页面加载时拥有数据。
答案 2 :(得分:1)
.js文件无法解释
<?php ?>
字符串
为文件提供.php
扩展名。 (确保通过header()
调用覆盖PHP的默认Content-Type输出。
但是从HTML运行JS代码被认为是不好的做法(就像样式元素一样)。
这是因为内联JS对缓存不利。如果文件是动态生成的,那么无论如何你都可能无法正常缓存它。