2012-09-12 59 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

相关问题