2012-09-12 92 views
0

我很新的JavaScript,所以先進的道歉。

link包含使用AJAX請求從名爲jsonp.php的文件中獲取圖表數據。

我試圖重新創建這個,但使用本地文件,而不是從他們的服務器。我可以下載他們的示例jsonp.php文件並將其保存到我的桌面。

我設法把這個代碼放在一起,讓我打開並閱讀文件。

<!DOCTYPE html> 
<html> 

<script src="http://code.highcharts.com/stock/highstock.js"></script> 
<script src="http://code.highcharts.com/stock/modules/exporting.js"></script> 

<input type="file" id="files" name="file" /> 
<div id="container" style="height: 500px; min-width: 500px"></div>? 

<script> 
function handleFileSelect(evt) 
{ 
    var files = evt.target.files; // FileList object 

    for (var i = 0, f; f = files[i]; i++) 
    { 

     var reader = new FileReader(); 
     reader.onload = (function(reader) 
     { 
      return function() 
      { 
       var contents = reader.result; 
       //var lines = contents.split('\n'); 
       //example('test') 
       ////// 
       //document.getElementById('container').innerHTML=contents; 
      } 
     })(reader); 

     reader.readAsText(f); 
    } 
} 

//function example(a) 
//{ 
//alert('You have chosen: ' + a); 
//} 

document.getElementById('files').addEventListener('change', handleFileSelect, false); 
</script> 
</html> 

我現在正試圖將兩個腳本結合起來以顯示本地文件的圖表(請參閱link)。我嘗試刪除ajax調用並調用該函數renderChart(f)

function renderChart(data) { 
    // Create the chart 
    window.chart = new Highcharts.StockChart({ 
     chart : { 
      renderTo : 'container' 
     }, 

     rangeSelector : { 
      selected : 1 
     }, 

     title : { 
      text : 'AAPL Stock Price' 
     }, 

     series : [{ 
      name : 'AAPL', 
      data : data, 
      tooltip: { 
       valueDecimals: 2 
      } 
     }] 
    }); 
}); 

這是行不通的。請我可以問我要去哪裏錯了

謝謝

回答

2

有在您發送的jsfiddle幾個語法錯誤。 Here is a new JSFiddle已解決基本錯誤。不過,我沒有嘗試使用格式化的文件,因爲Highcharts應該需要它。

提示:嘗試在Chrome中使用Javascript控制檯查看錯誤。

+0

謝謝你。它現在正在渲染圖表,但數據沒有被讀取。我試着用'var contents = reader.result;'然後'renderChart(contents);'來發送內容,而這又不起作用?任何想法爲什麼保存的jsonp.php與從$ .getJSON收到的不同? – user3357963

相關問題