javascript - Highcharts 不渲染

标签 javascript python highcharts flask getjson

所以我写了一个Python应用程序来获取highcharts的股票数据。我在终端得到这个

127.0.0.1 - - [28/Mar/2013 13:47:02] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [28/Mar/2013 13:47:02] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [28/Mar/2013 13:47:15] "GET /json/msft/?startdate=2010-01-01?enddate=2011-01-01 HTTP/1.1" 200 -

这是我的 JavaScript 代码

<script type="text/javascript">
function stock() {
console.log('pass 1')
url = 'http://127.0.0.1:5000/json/' + document.getElementById("ticker").value + '/?startdate=' + document.getElementById("startdate").value + '?enddate=' + document.getElementById("enddate").value
$.getJSON(url, function(data) {
    console.log('pass 2')
    // split the data set into ohlc and volume
    var ohlc = [],
        volume = [],
        dataLength = data.length;

    for (i = 0; i < dataLength; i++) {
        ohlc.push([
            data[i]["date"], // the date
            data[i]["open"], // open
            data[i]["high"], // high
            data[i]["low"], // low
            data[i]["close"] // close
        ]);

        volume.push([
            data[i]["date"], // the date
            data[i]["volume"] // the volume
        ])
    }

    // set the allowed units for data grouping
    var groupingUnits = [[
        'week',                         // unit name
        [1]                             // allowed multiples
    ], [
        'month',
        [1, 2, 3, 4, 6]
    ]];

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

        rangeSelector: {
            selected: 1
        },

        title: {
            text: 'AAPL Historical'
        },

        yAxis: [{
            title: {
                text: 'OHLC'
            },
            height: 200,
            lineWidth: 2
        }, {
            title: {
                text: 'Volume'
            },
            top: 300,
            height: 100,
            offset: 0,
            lineWidth: 2
        }],

        series: [{
            type: 'candlestick',
            name: 'AAPL',
            data: ohlc,
            dataGrouping: {
                units: groupingUnits
            }
        }, {
            type: 'column',
            name: 'Volume',
            data: volume,
            yAxis: 1,
            dataGrouping: {
                units: groupingUnits
            }
        }]
    });
});
}
</script>

以及我的 json 请求的 python 代码

@app.route('/json/<ticker>/', methods = ['GET'])
def json_route(ticker):
startdate = request.args.get('startdate','')
enddate = request.args.get('enddate','')
check = datecheck(startdate,enddate)
if check != 'pass':
    return check
check = datacheck(ticker,startdate,enddate)
if check != 'got data':
        urldata(ticker)
print '-----------------data-----------------'
conn = engine.connect()
entries = conn.execute(select([Stocks]).where(Stocks.symbol == ticker ).where(Stocks.date.between(startdate,enddate))).fetchall()
stocklist = []
print entries
for x in entries:
    stocklist.append({
        'volume': float('%f' %x[7]),
        'high': float('%.2f' %x[4]),
        'open': float('%.2f' %x[3]),
        'low': float('%.2f' %x[5]),
        'close': float('%.2f' %x[6]),
        'date': str(x[2]),
        'stock': x[1],
                     })
conn.close()
return json.dumps(stocklist)

我做错了什么?我认为如果 getjson 在同一个域本地主机上,那么 getjson 是可行的。只有 console.log('pass one') 有效并在检查元素时显示在控制台中。第二关永远不会被击中。

最佳答案

根据错误消息“仅支持 HTTP”判断,它需要一个 HTTP URL。您尝试过吗:

url = 'http://127.0.0.1:5000/json/...

关于javascript - Highcharts 不渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15669269/

相关文章:

Python 全局类属性

javascript - 带有 HTML/Javascript 的 Servlet 不显示我的网络之外的任何内容

javascript - 在 Highchart 中为 X 轴添加格式化程序

javascript - highcharts.js 有 Debug模式吗?

javascript - Angularjs嵌套ng-repeat与过滤器中使用的表达式

javascript - Chrome 有时不请求 CSS 页面

javascript - 我很难让这个模态按照我想要的方式关闭

javascript - 如何使用 CSS 或 JavaScript 仅显示视频帧的一部分?

python : How to make the 'end' keyword argument in print function to stop functioning for this purpose

python - 使用鼠标悬停在 2D 点图上查找 numpy 数组中的行/位置