javascript - 通过目录中的文件进行服务器端迭代

标签 javascript bash cgi iteration

在高度简化的场景中,我将以下 bash 脚本作为 cgi 运行:

#!/bin/sh
echo "Content-type: text/html"

list=
j=2
for i in $(ls *.log)
do
  (( j++ ))
  list="$list
   <a id=\"index$j\" href=\"$i\">$(basename "$i" .log)</a>"
done
(( j-- ))

echo -n "
<html>
 <head>
  <title>
   title
  </title>
  <meta http-equiv=\"refresh\" content=\"5\">
  <script type=\"text/javascript\">window.count = {limit: $j}</script>
 </head>
 <body>
  <div id=\"list\">
$list
  </div>
 </body>
</html>
"

该脚本获取当前目录中所有日志文件的名称、基本名称和索引(带偏移量),并为每个日志文件创建一个 anchor 。我想通过使用 setInterval() 仅更改 div 的内容来避免不必要的页面刷新。是否可以使用纯 JavaScript 来完成迭代部分(没有 jqueryphpasp 等)?

最佳答案

首先不要parse ls .

第二,不,你的 JavaScript 无法迭代服务器目录。

但是,您可以编写一个脚本,该脚本仅以 JavaScript 可用格式(json、xml、每行一个文件等)返回目录内容,然后使用该列表无需刷新即可更新页面内容。

关于javascript - 通过目录中的文件进行服务器端迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159350/

相关文章:

javascript - ngSelect 在页面加载时不填充 ajax 数据

javascript - Uncaught ReferenceError : $ is not defined

bash - 使用 find、grep、sed 的 bash 脚本中的段错误

perl - 我应该清理我的 Perl CGI HTML 表单中的文件上传输入字段吗?

javascript - 在 javascript 中创建表单元素

javascript - 将可折叠 div 扩展到表的行

linux - 如何在 bash 脚本中传递两个参数或参数

linux - Tee 命令 unix

python - 内部服务器错误 500 - Python、CGI

linux - 需要有关 Nginx CGI 配置的帮助