3

私はかなり長い間jQueryを使用してきましたが、AJAXを学んだことがなかったので、ここに来ました..

このコードがあります:

$('body').load('hello.txt');

簡単なことですが、複数のテキスト ファイルがあるとしましょう (名前はわかりません) 読み込みたいのですが、
できますか? たぶん、すべてのテキスト ファイルをループしてロードする必要がありますか?

前もって感謝します

4

3 に答える 3

6

サーバーの特定の場所にテキストファイルがあると仮定すると、これを行うことができます:

HTML マークアップ:

 <div id="fileList">
       here list of files will be loaded so that user can select which one to load
 <div>

 <div id="file-content">
       content of selected file will be loaded here
 <div>

JQuery部分:

 $.ajax({
      url : "FileServer/GetFileNames", // this is just a url that is responsible to return files list 
      success : function(data){
          //here a JSON data including filenames expected 
          $.each(data,function(i,item){
                var $fileHolder = $("<div></div>");
                $fileHolder.attr("filename",item.filename).click(function(){
                      $("#file-content").load($(this).attr("filename"));
                }).html(item.filename).appendTo("#fileList");  
          });
      }
 });

JSON 構造が必要です

   [
      {
          filename : "text1.txt"
      },
      {
          filename : "text2.txt"
      },
      {
          filename : "text3.txt"
      } 
   ]

サーバー側でのファイルリストの実装はあなた次第です。

于 2012-12-21T12:35:19.803 に答える
3

明らかなセキュリティ上の理由から、Javascript はローカル ファイル システムにアクセスできません。これは不可能です。

サーバー上のファイルをループしようとしている場合を除き、とにかく jQuery を使用するのではなく、ASP.NET や PHP、または使用しているフレームワークなどを使用します。

ディレクトリ jQuery 内の foreach ファイル

アップデート

これを試してみてください

var files;
$.ajax({
    url: "http://homepage/folder",
    success: function (txt) {
        files = txt.split('<A href="');
    }
});
var fList = new Array();
$(files).each(function () {
    if (this.indexOf('.txt') > -1) {
        fList.push(this);
    }
});
for (i = 0; i < fList.length; i++) {
    fList[i] = fList[i].split('">')[0];
    fList[i] = fList[i].replace('"');
}

for (i = 0; i < fList.length; i++) {
    $('#idLoadHere').load(fList[i]);
}
于 2012-12-21T12:18:13.003 に答える
0
  • FTP list コマンドを実行します (これにはさまざまな方法がありますが、Web-Sockets はその 1 つです..)
  • よりシンプルでより一般的な安全なソリューションは、サーバー側でファイルのリストを作成し、HTML を「クッキング」することです (つまり、ファイル リストをその中に埋め込むことを意味します)

*未加工の HTML を使用するかvar、JavaScript で使用するステートメントに入れることができます (たとえば)。

 

次の回答を参照してください。

https://stackoverflow.com/a/30949072/257319

于 2015-06-20T00:43:33.447 に答える