extjs3和Highcharts,加载d时JsonStore问题

2024-09-26 17:50:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在extjs3窗口中使用Highcharts绘制一些数据。 有了固定的数据数组,一切都可以工作,但我需要绘制从pythoncgi获取的数据的图表,该cgi返回一个json。 这就是python cgi如何创建我的数据(一个片段,我跳过了到数据库的连接,等等):

    query = "select timestamp, value from "+measure_table+" where id_resource = 280 and timestamp < '2011-07-13 03:59:00'"
    #execute the query
    cur.execute(query)
    rows = cur.fetchall()

    #create the empty json data rpeository to be filled in
    json_root = { 'fields': ['timestamp', 'value'], 'data':[] }

    for row in rows:
            json_root['data'].append({'timestamp':str(row[0]), 'value':row[1]})

    #spit out the json and we are done!
    req.write(str(json_root))

这是我试图加载数据的js:

^{pr2}$

然后创建窗口和图表。 现在有两个问题:第一个问题很简单:这个代码有什么问题?firebug控制台显示:

o is undefined

if(o.metaData){

ext all 26042行-调试.js,其中一个调试脚本我已经包括在我的html头。 窗口已经创建,但当然没有图表。这是哪种错误?如果我用一个大的/*。。。。*/创建代理和存储的错误消失了,所以问题应该存在。 编辑:我已经解决了这个问题,我用错误的函数加载了商店jstore.loadData()而不是jstore.load文件(),我的错…对不起

第二个问题是:这(下面的代码)是用jsonstore中的highcharts绘制数据的正确方法吗? (我们正在创建图表,我不发布整个代码,因为它可以工作,而且发布它可能没有用处)

                            xField: 'timestamp',
                            store: jstore,
                            series: [{
                                    yField: 'value'
                            }]
    }

非常感谢你的回答!在

编辑:修复数据加载后出现的新问题:

too much recursion
jqextend(),DanaI...xtjs.js (riga 81)
merge(),DanaI...xtjs.js (riga 92)
Chart (),DanaI....src.js (riga 3922)
options = Object { chart={...}, title={...}, altri elementi...}
callback = undefined
draw(),DanaI...hart.js (riga 229)
call(),DanaI...ebug.js (riga 1547)
, copy); 

这是firebug控制台输出..递归太多?哪个递归?我没有在代码中使用任何递归函数。。在


Tags: the数据代码jsondatavalue图表js
1条回答
网友
1楼 · 发布于 2024-09-26 17:50:19

dict.__str__在大多数情况下不会生成正确的json。使用json模块。在

示例:

import json
...
req.write(json.dumps(json_root)

记住将Content-Type头设置为application/json(一些javascript框架使用头值来确定对数据采取的正确操作)。在

相关问题 更多 >

    热门问题