我必须从给定目录中读取文件名作为URL 例如。
http://somesite.whereisthis/directoryThatContainsFiles
我想过像
这样的XMLHttpRequestxhr.open('GET', 'http://somesite.whereisthis/directoryThatContainsFiles', true);
然后以某种方式读取此文件夹中的文件名称,但我无法使其工作:/
如何在纯javascript中读取它们?(没有jquery或其他东西)有没有办法在console.log()中列出它?
答案 0 :(得分:0)
你期待“Javascript”
如果没有服务器端的帮助,你就无法做到。例如,您可以使用PHP将目录列表数据作为JSON响应发送。
http://hostaddress/endpointdirectory
{
"Folder" : "Data"
"Files" : [ "File1" , "File2" ]
}
否则,使用XMLHttpRequest()可以解决简单的黑客问题,您将获得HTML DOM响应。
<html>
<head>
<title>Index of /directoryWantToList</title>
</head>
<body>
<h1>Index of /directoryWantToList</h1>
<table>
<tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a
href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th>
<th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a>
</th></tr>
<tr><th colspan="5"><hr></th></tr>
<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td>
<td><a href="/">Parent Directory</a> </td><td> </td><td
align="right"> - </td><td> </td></tr>
<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a
href="File1.txt">File1.txt</a> </td><td align="right">2018-
01-15 16:52 </td><td align="right"> 0 </td><td> </td></tr>
<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a
href="File2.txt">File2.txt</a> </td><td align="right">2018-
01-15 16:52 </td><td align="right"> 0 </td><td> </td></tr>
<tr><th colspan="5"><hr></th></tr>
</table>
<address>Apache/2.4.29 (Win32) OpenSSL/1.1.0g PHP/7.2.0 Server at
localhost Port 80</address>
</body></html>
使用这个DOM响应你需要通过解析那些糟糕的黑客来获取那些文件名.......
Javascript今天发展很多,但仍局限于客户端。
参考线程: