我正在尝试使用 PHP 显示文件夹中的所有文件。 var fn=<?php $dir = "folder/*"; foreach(glob($dir) as $file) { echo $file.'</br>'; } ?> console.log(fn);控制台将输出显示为undefined。我是在 Javascript 中使用 PHP 的新手,我确信我在这里遗漏了一些重要的东西,感谢任何帮助。
1 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
将值分配给变量时缺少引号fn。
<?php
$dir = "folder/*";
foreach(glob($dir) as $file) {
$result .= $file . '</br>';
}
?>
<script>
var fn = "<?php echo $result; ?>"; // <- Error was here
console.log(fn);
</script>
请注意,通过连接字符串生成 JavaScript 可能很棘手且存在错误,有时更好的选择是将数据作为 JSON 对象传递到 JS,然后与 JS 一起使用它:
<?php
$dir = "folder/*";
$arr = [];
foreach (glob($dir) as $file) {
$arr[] = $file;
}
$jsonObj = json_encode($arr);
?>
...
<script>
var fn = <?php echo $jsonObj; ?>; // <- in this case DO NOT wrap JSON object with quotes!
fn.forEach(myFunction);
function myFunction(item, index) {
console.log(index, item);
}
</script>
添加回答
举报
0/150
提交
取消