2016-03-01 32 views
1

如果我在我的Apache 的DocumentRoot目录图片的目录,我想的JavaScript在我的网站就知道该目录什么图像都可以,在我看来有两个选择:可以将Apache配置为允许浏览器中的JS获取服务器目录内容?

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

但是,是否可以配置Apache以提供对该目录的访问,以便JS可以向服务器请求目录内容?也许使用mod_autoindex或其他东西整洁?有没有人做过这个?

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

谢谢

回答

1

Javascript只能通过HTTP与服务器通信。没有秘密后门或任何“获取目录内容”。 Apache将必须服务于一些文档,这些文档可以被Javascript解释为传递目录中的文件。

可能将Apache配置为提供目录列表,但这些通常是HTML页面,您需要在Javascript中解析以提取信息。不是不可能的,但肯定不是优雅的。此外,这些目录列表可以公开显示,并且可以根据需要公开显示(当然,任何解决方案都会公开地公开这些信息,这是没有办法的)。

使用JSON数据或者XML数据,Javascript可以更轻松地工作。我不知道在JSON中输出目录列表的任何Apache mod。因此,从试图获取该数据的Javascript文件的角度来看,让服务器端REST端点提供定制的JSON(或只是根据需要更新的静态.json文件)是一种更优雅的解决方案。

+0

感谢您的回答。我想你一定是对的。我希望有人写过一个JS插件来解析/遍历HTML Apache目录列表,或者有一个不同的核心Apache模块可以将目录内容作为XML或JSON返回。我猜这两者都不是。 – bishbashbosh