2013-05-30 99 views
0

我試圖從服務器獲取多個HTML日誌文件,並進行處理..如何使用ajax jquery從服務器獲取多個文件?

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}); 
         } 
      }); 
      } 


     } 

這工作,如果我發送一個,但去整個數組(listValues)真的減慢FF。有沒有更好的方法來解決這個問題。例如將是巨大的......

回答

0

您可以用兩種不同的方式優化這樣的:

  • 現在,你是在一個去做高達listValues.length X2 + 1名的請求到服務器。你可以考慮重新編寫你的PHP,試圖將其壓縮成儘可能少的請求,這意味着將創建更少的對象,這意味着更少的開銷。這可能就像status.php?logfile[]=file1&logfile[]=file2...
  • 一樣簡單您也可以簡單地啓用客戶端緩存。我確定你有一些數據在那裏是多餘的或可緩存的

以下是通用建議。發佈各種AJAX調用的內容可能會有助於您的案例在特定答案方面有所幫助。

相關問題