1

如果我的 Apache DocumentRoot目录中有一个图像目录,并且我希望我的网站中的 JavaScript 知道该目录中有哪些图像可用,那么有两个选项:

  1. 从服务器端脚本提供这些图像的列表,该脚本可以检查目录并返回其中的项目列表。
  2. 使用服务器上的脚本/可执行代码在该目录中构建一个文件(例如“contents.js”)。该文件将列出目录中包含的文件,前端的 JS 将能够访问该文件。

但是,是否可以将 Apache 配置为提供对该目录的访问,以便 JS 可以向服务器请求目录内容?也许使用 mod_autoindex 或更简洁的东西?有人做过吗?

我实际上不想将它用于图像,所以这只是一个假设的例子。

谢谢

4

1 回答 1

1

Javascript 只能通过 HTTP 与服务器通信。没有秘密后门或任何“获取目录内容”的东西。Apache 必须提供一些Javascript 可以解释的文档来传达目录中的文件。

可以将 Apache 配置为提供目录列表,但是这些通常是 HTML 页面,您需要在 Javascript 中对其进行解析以从中提取信息。不是不可能,但肯定不是优雅的。此外,任何人都必须公开查看这些目录列表(当然,任何解决方案都会公开该信息,这是没有办法的)。

Javascript 可以更轻松地处理 JSON 数据,或者 XML 数据。我不知道任何以 JSON 格式输出目录列表的 Apache mod。因此,从尝试获取该数据的 Javascript 文件的角度来看,让服务器端 REST 端点提供自定义 JSON(或只是一个静态 .json 文件,您可以根据需要进行更新)是一个更优雅的解决方案。

于 2016-03-01T11:24:25.777 回答