如何使用 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。
考虑到我看到的关于这个概念的大多数问题都不清楚其最终目标,我想从一些 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。