2015-02-25 2 views
0

Я взял курс акций примера HTM файл Highstock внутридневного Apple, и загрузить его на мой сервер: http://54.175.177.142/ef.htmlПроблемы загрузка JSON в Highstock

Он работает хорошо. Это то же самое, что и в примерах загрузки Highstock, за исключением того, что я изменил пути .js на те, что размещены в домене code.highcharts.com, а не в папке примера.

Теперь то, что я хотел бы сделать, это изменить путь .json от размещенных на highcharts.com:

$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=new- intraday.json&callback=?', function (data) { 

на свой сервер: $.getJSON('http://54.175.177.142/appleData.json', function (data) {

Отсюда я изменю JSON для моих собственных данных, но в качестве первого шага я просто хотел бы повторить пример highstock.

Вот проблема, когда я вношу это изменение в вызов $.getJSON, я получаю пустую белую страницу, у меня даже нет ошибок javascript. Эта реализация может быть видна на: http://54.175.177.142/intradayTest.htm

JSON Я пытаюсь загрузить практически идентичен the original, за исключением моей последней попытки получить его работу, я падаю на порядок «обратный вызов» на самом верху для "?" так как он загружается, когда параметр JSONP добавляется в ссылку (& callback =?) в примере. Я понимаю, что мне не нужен подход JSONP, потому что у меня есть JSON на моем собственном сервере, в том же домене, что и файл html. Я также попытался точно воспроизвести JSON на другом сервере, с ведущим «обратным вызовом» и параметром JSONP, но безрезультатно.

Мой JSON здесь: http://54.175.177.142/appledata.json

Я думаю о JSON сам как-то неправильно. Чтобы сделать это, я просто сделал «выбрать все» в оригинале в своем браузере, вставил его в Notepad ++ и сохранил его как .json. Затем я просмотрел его на своем EC2.

Любые идеи о том, что здесь происходит?

Вот HTML-код, если вы не хотите идти к ссылкам:

<!DOCTYPE HTML> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
     <title>Highstock Example</title> 

     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
     <style type="text/css"> 
${demo.css} 
     </style> 
     <script type="text/javascript"> 
$(function() { 
//'http://www.highcharts.com/samples/data/jsonp.php?filename=new-intraday.json&callback=?' 
//'http://52.0.68.76/appleData.json' 
     $.getJSON('http://54.175.177.142/appleData.json', function (data) { 

     // create the chart 
     $('#container').highcharts('StockChart', { 


      title: { 
       text: 'AAPL stock price by minute' 
      }, 

      xAxis: { 
       gapGridLineWidth: 0 
      }, 

      rangeSelector : { 
       buttons : [{ 
        type : 'hour', 
        count : 1, 
        text : '1h' 
       }, { 
        type : 'day', 
        count : 1, 
        text : '1D' 
       }, { 
        type : 'all', 
        count : 1, 
        text : 'All' 
       }], 
       selected : 1, 
       inputEnabled : false 
      }, 

      series : [{ 
       name : 'AAPL', 
       type: 'area', 
       data : data, 
       gapSize: 5, 
       tooltip: { 
        valueDecimals: 2 
       }, 
       fillColor : { 
        linearGradient : { 
         x1: 0, 
         y1: 0, 
         x2: 0, 
         y2: 1 
        }, 
        stops : [ 
         [0, Highcharts.getOptions().colors[0]], 
         [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')] 
        ] 
       }, 
       threshold: null 
      }] 
     }); 
    }); 
}); 

     </script> 
    </head> 
    <body> 
<div id="container" style="height: 400px; min-width: 310px"></div> 

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

ответ

1

OK. Этот вопрос является кандидатом на удаление, который я считаю. Я исправил свою проблему .... Я открывал appleData.json ... но я загружал файл как appledata.json, то есть с нижним регистром 'd'.

Разница между двумя файлами json заключалась в том, что я не оценил, что callback(); которая была обернута вокруг JSON, была функцией. Все, что мне нужно было сделать, это отнять эту функцию и оставить ее как:

[ 
[1317888000000,372.5101,375,372.2,372.52], 
. 
. 
. 
[1318607940000,421.94,422,421.8241,422] 
] 

Такая глупая ошибка! Но это способ вещей, как Noob.

Смежные вопросы