ajax没有列出目录中的所有文件

时间:2016-06-03 01:27:32

标签: javascript ajax

我试图在服务器上的目录中列出所有json文件,如下所示:

listed_files = [];
function list_files() {
  $.ajax({
    url: "path_to_files/",
    success: function(data){
      $(data).find("a:contains('.json')").each(function(){
        // will loop through
        var files = $(this).attr("href");
        listed_files.push(files);
      });
     }
   });
}

它有效,除了它只列出4个文件时有6个。我唯一注意到它错过的2有更长的文件名。什么可能导致这种情况?

文件的名称如下:

file_name_a_this_is_long.json
file_name_b_short.json
file_name_c_short.json
file_name_d_this_is_long.json
file_name_e_short.json
file_name_f_short.json

文件列表如下所示:

file_name_a_this_is_lo..>
file_name_b_short.json
file_name_c_short.json
file_name_d_this_is_lo..>
file_name_e_short.json
file_name_f_short.json

1 个答案:

答案 0 :(得分:0)

根据@Marco的回复,服务器端脚本需要以不同方式返回结果。那么ajax可以正常工作。以下PHP脚本将完整列出文件:

<?php
    if ($handle = opendir('.')) {
        while (false !== ($file = readdir($handle)))
        {
            if (($file != ".")
                && ($file != ".."))
            {
            $thelist .= '<LI><a href="'.$file.'">'.$file.'</a>';
            }
        }

    closedir($handle);
}
?>

<P>List of files:</p>
<UL>
<P><?=$thelist?></p>
</UL>