【发布时间】:2021-02-18 19:28:54
【问题描述】:
我编写了以下脚本,为当前文件夹下的所有图像创建了一个漂亮的 JSON:
<?php
header('Content-type: application/json');
$output = new stdClass();
$pattern="/^.*\.(jpg|jpeg|png|gif)$/i"; //valid image extensions
$dirs = array_filter(glob('*'), 'is_dir');
foreach ($dirs as $dirname) {
$files = glob(''.$dirname.'/*');
$images = preg_grep($pattern, $files);
$output->{$dirname} = $images;
}
echo json_encode($output, JSON_PRETTY_PRINT);
?>
我有一个带有基本页面的 HTML 文件,我想在一些 javascript 操作后以格式化的方式显示 JSON 的数据。
所以问题是如何将 PHP 数据放入 javascript 变量中?
<html>
...
<body>
<script src="images.php"></script>
<script type="text/javascript">
// Desired: Get access to JSON $output
</script>
...
<div>
<img ... >
</div>
</body>
</html>
我试图把两个https://stackoverflow.com/a/61212271/1692261 和 https://stackoverflow.com/a/50801851/1692261 在该脚本标签内,但它们都不起作用,所以我猜我在这里遗漏了一些基本的东西(我第一次使用 PHP :)
【问题讨论】:
-
为什么不想对 PHP 脚本进行 ajax 调用并获取 json?
-
@Zeusarm 好吧...第一次使用PHP,对ajax一无所知。这是使它工作的唯一方法吗?如果是这样,我也会读到这一点。经典牦牛剃须:)
-
如果您想在 javascript 变量中“分配”php 输出,您必须处理引号等。如果您通过 javascript ajax 请求在客户端加载它并从 php 获取 json,那么您就是获取可以轻松使用的纯 javascript 对象。
-
@Zeusarm 好的,我会试试看的。
-
@Zeusarm 就像一个魅力!请参阅下面的答案。谢谢!
标签: javascript php html json