使用本地文件而不是$ .getJSON

时间:2012-09-12 10:01:35

标签: javascript jquery html highcharts

我对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
            }
        }]
    });
});

哪个不行。请问我哪里出错了

谢谢

1 个答案:

答案 0 :(得分:2)

您发送的JSFiddle中存在多个语法错误。解决了基本错误的Here is a new JSFiddle。但是我没有尝试使用格式化的文件,因为Highcharts应该需要它。

提示:尝试使用Chrome中的Javascript控制台查看错误。