如何使用 AJAX 创建服务器端目录列表?

How do I use AJAX to create a list of a server-side directory?

考虑到我看到的关于这个概念的大多数问题都不清楚其最终目标,我想从一些 Python 代码开始并将其用作这个问题的基础。

from glob import glob

print(glob('*'))

前面的代码打印出它在目录中检测到的所有文件 and/or 文件夹的列表(* 标记脚本所在的当前目录 运行),其中glob module的帮助。因此,如果我要 运行 包含一个文件夹和两个图像的目录中的脚本,生成的输出将是以下列表:

['folder1','image1.png','image2.png','script.py']

我想要做的是在 Javascript 中为网络服务器的本地内容重新创建此功能。 (为了让生活更轻松,假设这就是 运行ning 关闭 localhost)根据我设法找到的,AJAX 是 Javascript 文件的最佳现代方法处理有。有了它,我已经能够调用 httpsRequest 到我想要的文件夹,但我设法得到的唯一响应是 HTML 我认为是服务器文件资源管理器的转储.尝试使用 responseText 等修饰符会在控制台中产生 <empty sting> 响应。对于上下文,这是我目前一直在使用的代码:

function() {
    httpRequest = new XMLHttpRequest();

    if (!httpRequest) {
        alert("Giving up :( Cannot create an XMLHTTP instance");
        return false;
    }
    httpRequest.onreadystatechange = console.log(httpRequest);
    httpRequest.open('GET', '/testing/');
    httpRequest.send();
}

非常喜欢XY problem

为什么这不起作用

AJAX 的功能不像 Python 的 glob 那样设计用于动态文件处理。它主要设计用于一次交换一个文件的信息,并能够在 XMLHttpRequest 中更改该文件。这不是缺点,因为它对于处理 JSON 中的配置文件或与 PHP 数据库通信很有用。还值得提出 Tangentially Perpendicular 的评论中提到的内容:

You'll only get a directory listing if the web server is set up to provide one, and not always then. [That said] you probably don't want to do that for security reasons.

“那么如何创建一个动态的文章列表以显示在我的 HTML 中?”

还有我们的 X。

您真正想要的是 Static Site Generator。有了它,您将能够创建和编译一个网站来为您创建文章列表。

对于那些希望进一步阅读的人,请记住,SSG 通常用于引用 Jamstack。