我试图在服务器上的目录中列出所有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
答案 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>