1

使用jQuery .ajax()读取“ ./ex.html”在第一个警告框中返回文件的预期内容。使用相同的调用只是将请求更改为“ ./”不会在第二个警报框中返回预期的目录列表。

<html>
<head>
</head>
<body>
<script type="text/JavaScript" src="jquery.js"></script>
<script type="text/JavaScript">
    alert($.ajax({type: "GET", url: 'ex.html', async: false}).responseText);
    alert($.ajax({type: "GET", url: '.',       async: false}).responseText);
</script>
</body>
</html>

直接访问文件时:$ firefox ex.html结果如前所述。 $ firefox .显示:

文件索引:///home/cwhii/work/jq/ex

上一级目录

名称 大小 最后修改

ex.html 1 KB 2010 年 3 月 24 日晚上 10:29:37

jquery.js 161 KB 03/17/2010 05:16:58 PM

然后单击该ex.html链接会在第一个警告框中生成预期的文件内容,并在第二个警告框中生成目录列表。

总之,在命令行上使用文件名调用 firefox 不会生成目录列表,但是当通过目录页面上的链接导航到同一文件时,第二个警报框会显示列表。

此外,我以上述所有方式调用了 Google Chrome 浏览器 5.0.307.11 beta,所有结果都没有在警告框中产生目录列表,即使 $ google-chrome .生成了目录列表页面。

4

4 回答 4

11

您将需要某种服务器端代码来生成目录中的文件/文件夹列表。您的 Web 服务器很可能将该请求重定向到目录的默认页面(index.html、default.html 等),或者它抛出 404/403/etc 页面,因为您请求的页面没有存在。

于 2010-03-25T05:43:11.353 回答
3

Javascript 不做“目录”或“文件”,它只适用于 URL。无论您的服务器在请求时响应什么,/都是 Javascript 可以访问的。

于 2010-03-25T05:43:37.480 回答
1

如果网络服务器已打开目录浏览/列表,那么这可以工作。

理想情况下,您将创建一个服务器端页面/脚本以将目录列表作为 JSON 返回。

于 2010-03-25T16:09:16.390 回答
0

您需要编写一个 PHP 目录列表脚本并传递它应该由 $.ajax 解析的目录...

裸 jQuery 不足以完成此任务。

于 2010-12-22T00:14:29.250 回答