如何使用jQuery获取目录或文件夹中的所有文件名?

如何使用jQuery获取目录或文件夹中的所有文件名?,jquery,Jquery,如何使用jQuery获取目录或文件夹中的所有文件名并附加到重定向的URL $(文档).ready(函数(){ GetDirectoryFiles(); }); 函数GetDirectoryFiles(){//用于获取目录的所有文件名的函数定义 $.ajax({ 键入:“获取”, url:“http://localhost:55304/TestViewsGoogleImgChanged/", contentType:“应用程序/html;字符集=utf-8”, async:false, 跨域:是的

如何使用jQuery获取目录或文件夹中的所有文件名并附加到重定向的URL

$(文档).ready(函数(){
GetDirectoryFiles();
});
函数GetDirectoryFiles(){//用于获取目录的所有文件名的函数定义
$.ajax({
键入:“获取”,
url:“http://localhost:55304/TestViewsGoogleImgChanged/",
contentType:“应用程序/html;字符集=utf-8”,
async:false,
跨域:是的,
数据:空,
数据类型:“html”,
成功:功能(数据){
var pagedata=$.parseHTML(数据);
var tabledata=$.parseHTML(pagedata[9].innerHTML);
对于(变量i=0;tabledata.length/2;i++){
如果(tabledata[i].textContent.indexOf('.cshtml')>0){
打开窗户http://123.com/“+tabledata[i].textContent.split(“.cshtml”)[0],“\u blank”)
}
}
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(textStatus+'----'+ErrorSprown);
}
});
}

回答问题本身。首先,我们必须使用FTP在特定位置或本地系统上托管我们的目录,通过本地主机直接访问,这在我的解决方案中提到。提到代码能够纠正问题中讨论的任务

根据要求,我们可以得到所有的文件名,并重定向到新标签中的url(文件名附加到该url)

$(document).ready(function() {
  GetDirectoryFiles();
});

function GetDirectoryFiles() { //function Definition for Get All FileNames Of Directory
  $.ajax({
    type: "GET",
    url: "http://localhost:55304/TestViewsGoogleImgChanged/",
    contentType: "application/html; charset=utf-8",
    data: null,
    dataType: "html",
    success: function(data) {
      var pagedata = $.parseHTML(data);
      var tabledata = $.parseHTML(pagedata[9].innerHTML);
      for (var i = 0; tabledata.length / 2; i++) {
        if (tabledata[i].textContent.indexOf('.cshtml') > 0) {
          window.open('http://123.com/' + tabledata[i].textContent.split(".cshtml")[0], '_blank')
        }
      }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      alert(textStatus + '-----' + errorThrown);
    }
  });
}

假设您想在服务器上获取文件,那么您需要一种服务器端语言,如ASP或PHP,而不是JS。基本上,这是一种使用DOM从服务器或本地文件夹获取数千个文件名的概念。您可以从此特定代码访问。由于安全限制,无法访问客户端文件。正如我前面提到的,如果你想从服务器上获取它们,你需要一种服务器端语言1)
async:false
是非常糟糕的做法。你应该移除它。2) 这实际上并没有显示如何获得文件夹,这是问题的关键。您所要做的就是发出一个AJAX请求,然后在结果中循环。因此,这里的代码与问题相同。请执行“async:false”,这是特定于需求的,在我的案例中是必需的。您可以使用呈现视图或浏览器视图中的文档对象模型访问任何目录的内容。另外,关于“如何获取文件夹,这是问题的关键”,您应该更改需求,因为没有充分的理由使用
async:false
。这是糟糕的架构设计/代码气味的强烈迹象。恐怕你的第二句话毫无意义。至于“你如何获得文件夹,这是问题的关键”,首先你必须使用FTP在服务器上托管文件,然后只有你才能看到它的DOM,从而使用ajax访问,你可以从inspect元素或F12进行检查