说我有文件夹" ../ cars /"它包含多个html文件,我想将所有这些文件加载到另一个html文件中。
我可以通过以下方式轻松解决这个问题:
$(document).ready(function (){
$("#all_cars").load("../cars/civic.html");
$("#all_cars").load("../cars/durango.html");
$("#all_cars").load("../cars/mustang.html");
$("#all_cars").load("../cars/r8.html");
... and so on
});
但我想以更复杂的方式做到这一点。我也不想将文件名编码到我的js文件中。我宁愿能够从文件夹中删除该文件,现在又将其加载。有没有办法可以获取cars文件夹中的所有文件名并循环加载它们?
有点像这样:
foreach(cfn in carsFilesNames){
$("#all_cars").load("../cars/" + carsFileNames);
}
答案 0 :(得分:1)
希望这就是你想要的:
$.each([
'civic.html',
'durango.html',
'mustang.html',
'r8.html'
], function(i,a){
$("#all_cars").load("../cars/" + a);
});
$.each
将遍历数组。
<小时/> 如果您希望自动获取目录中的所有文件并列出它们,并且您的Web服务器上有PHP,请添加名为
carindex.php
的文件,将其内容设置为:
<?php
print json_encode(scandir('PATH/TO/cars/', 1));
?>
然后在客户端:
$.get('/carindex.php', function (a) {
a.forEach(function (b) {
$("#all_cars").load("../cars/" + b);
});
});
答案 1 :(得分:0)
你可以试试这个:
jQuery.ajaxSetup({ async: false }); //if order matters
$.get("file.htm", '', function (data) { $("#result").append(data); });
$.get("pippo.htm", '', function (data) { $("#result").append(data); });
jQuery.ajaxSetup({ async: true }); //if order matters