2010-08-09 42 views
1

我有一個本地運行JavaScript的Windows 7小工具。它將參數發送到返回XML的服務器上的Perl腳本。 XML只是時間戳和原始數據。我使用Flot將這些結果繪製成時間序列。這些圖通常是性能數據(%CPU使用率,邏輯磁盤空間等),我希望可以選擇將結果本地導出爲XML文件,以便用戶可以在Excel中打開它們並生成報告。使用JavaScript將XML導出到本地文件

下面是一個代碼示例:

var graphData = new Array();//Global variable 
function sendQuery(){ 
    var host_name = $('#hostNameInput').val(); 

    $.ajax({ 
    type: "GET", 
    url: "http://okcmondev102/cgi-bin/itor_PerfQuery.pl?",//+arguments   
    dataType: "XML", 
    success: function(xml){ 
     var results = new Array(); 
     var counter = 0; 

     var $xml = $.xmlDOM(xml); 

     $xml.find('DATA').each(function(){ 
     results[counter] = new Array(2); 
     results[counter][0] = $(this).find('TIMESTAMP').text(); 
     results[counter][1] = $(this).find('VALUE').text(); 
     counter++; 
     }); 

     plotGraph(results, host_name); 
    }//end Success 

    });//end AJAX 

}//end sendQuery 

function plotGraph(results, host_name){ 

    graphData.push({label: host_name, data: results}); 

    plot = $.plot($("#resultsArea"),graphData, options); 

}//end plotGraph 

我如何能做到這一點有什麼建議?

+0

我強烈懷疑,要做到這一點,最好的辦法是從服務器 - 即讓服務器返回的XML作爲通過你培養一些新的URL的附件。 – Pointy 2010-08-09 14:58:38

+0

爲此,我需要將數組(這是一個JSON對象數組,對嗎?)發送到服務器並在那裏生成xml文件,是否正確? – 2010-08-09 15:24:21

回答

0

Download a file using Javascript

var url='http://server/folder/file.ext';  
window.open(url,'Download'); 
+0

我想在下載之前必須在服務器上生成該文件,是否正確? – 2010-08-09 15:22:12

+0

我想如果它返回一個文本/ XML的MIME類型,你不必讓代碼寫一個文件。要更改MIME類型,您必須更新服務器發回的標頭信息。 – JKirchartz 2010-08-10 14:59:19

相關問題