0

サーバーから複数の html ログ ファイルを取得して処理しようとしています。

Log1.html Log2.html Log3.html Log4.html Log5.html

      $(".selection").change()
      {
          if($.trim($(this).val()) == "Logs")
          {
              // get list of files

              $.getJSON("getFileNames.php",{fileNames: fileNameList}, function(data)
              {
                  $.each(data, function(index,value)
                  {
                       listValues[index] value; 
                  });
              });
              for(var i = 0; i < listValues.length; i++)
              {
                   getLogFiles(listValues[i]);
              }
          }

          getLogFiles(logName)
          {
              status = null;

              $.ajax({
                        url: logName,
                        success: function(data)
                        {
                           status = $(data).find(".status").text();
                           $getJSON("status.php"), {statusInfo: status});
                        }
             });
          }


      }

これは、1つを送信すると機能しますが、配列全体(listValues)に移動すると、FFが本当に遅くなります。この問題を解決するためのより良いアプローチはありますか。例は素晴らしいでしょう...

4

1 に答える 1

0

これは、次の 2 つの方法で最適化できます。

  • 現在、listValues.lengthサーバーに対して最大 x2 + 1 のリクエストを一度に実行しています。PHP を書き直して、これをできるだけ少ないリクエストに凝縮することを検討してくださいXMLHttpRequest。これは、作成されるオブジェクトが少なくなり、オーバーヘッドが少なくなることを意味します。これは、status.php?logfile[]=file1&logfile[]=file2...
  • クライアント側のキャッシュを単純に有効にすることもできます。冗長またはキャッシュ可能なデータがそこにあると確信しています

以下は一般的なアドバイスです。さまざまな AJAX 呼び出しの内容を投稿すると、特定の回答に関してケースが少し役立つ場合があります。

于 2013-05-30T02:09:58.970 に答える