Javascript 海图-Can';不要以身作则

Javascript 海图-Can';不要以身作则,javascript,jquery,json,highcharts,callback,Javascript,Jquery,Json,Highcharts,Callback,我是海图的初学者 我想从这个例子开始: 我下载了相应的JSON文件: 我想在本地运行它(并在用我自己的JSON文件测试之后)。 但它不起作用 我使用了示例的源代码,我刚刚修改了getJSON行 我有这个: $.getJSON('./data/json/'+ name+'-c.json&callback=?', function(data) { ... } 我认为问题来自回调。 有什么想法吗?&callback=?通常是附加的,这是一种用于跨域调用(例如到其他网站)的技术 据我所知,

我是海图的初学者

我想从这个例子开始:

我下载了相应的JSON文件:

我想在本地运行它(并在用我自己的JSON文件测试之后)。 但它不起作用

我使用了示例的源代码,我刚刚修改了getJSON行

我有这个:

$.getJSON('./data/json/'+ name+'-c.json&callback=?', function(data) { ... }
我认为问题来自回调。
有什么想法吗?

&callback=?
通常是附加的,这是一种用于跨域调用(例如到其他网站)的技术

据我所知,您应该尝试将其从通话中删除。 就你而言:


$.getJSON('./data/json/'+name+'-c.json,function(data){…}

要使示例在本地应用,您必须遵循以下步骤:

  • 我假设您从url下载的json源代码存储在一个文件
    data.json

  • 现在,正如您所注意到的,文件
    data.json
    中的json源代码如下所示:

    ?(/* AAPL historical OHLC data from the Google Finance API */
    [
    
    /* May 2006 */
    [1147651200000,67.79],
    [1147737600000,64.98],
    [1147824000000,65.26],
    [1147910400000,63.18],
    .......
    ....
    
  • 现在,正如您可能已经注意到的,json源中存在代码行
    ?(/*AAPL历史OHLC数据,来自Google Finance API*/
    /*2006年5月*/
    ,这些代码行通过生成解析错误导致出错,因为具有这些代码行的数据源不是有效的json字符串。

    因此,您必须从整个json文件中删除每一行这样的无效代码,以使其正常工作。

    删除所有无效代码行后,json文件应如下所示:

    [
    [1147651200000,67.79],
    [1147737600000,64.98],
    [1147824000000,65.26],
    ....
    ...
    ]
    
    3.在这一步之前,您已经为Highstock图表准备好了一个有效的json数据源,因此最后要显示图表,您必须使用如下代码:

    $(function() {
            $.getJSON('data.json', function(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
                    }
                }]
            });
        });
    
     });
    
    整个页面的源代码:

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script src="http://code.highcharts.com/stock/highstock.js"></script>
    <script src="http://code.highcharts.com/stock/modules/exporting.js"></script>
    <script>
        $(function() {
            $.getJSON('data.json', function(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
                    }
                }]
            });
        });
    
         });
        </script>
        <body>
            <div id="container" style="height: 500px; min-width: 500px"></div>
        </body>
    
    
    $(函数(){
    $.getJSON('data.json',函数(数据){
    //创建图表
    window.chart=新的Highcharts.StockChart({
    图表:{
    renderTo:“容器”
    },
    范围选择器:{
    选定:1
    },
    标题:{
    文本:“AAPL股价”
    },
    系列:[{
    名称:“AAPL”,
    数据:数据,
    工具提示:{
    数值小数:2
    }
    }]
    });
    });
    });