Я пытаюсь отобразить некоторые данные, используя Highcharts в окне EXTJS 3.
С фиксированным массивом данных все работает, но мне нужно отобразить данные, взятые из Python 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, в котором я пытаюсь загрузить эти данные:
var jproxy = new Ext.data.HttpProxy({
url: 'the url where to find the cgi'
});
var jstore = new Ext.data.Store({
proxy: jproxy,
reader: new Ext.data.JsonReader({
idProperty: 'timestamp',
root: 'data',
fields: [
{name: 'timestamp', mapping: 'timestamp'},
{name: 'value', mapping: 'value'},
]
})
});
Затем я создаю окно и график.
2 вопроса сейчас: 1-й довольно прост: что не так с этим кодом? Консоль Firebug говорит:
о не определено
if (o.metaData) {
в строке 26042 файла ext-all-debug.js, одного из сценариев отладки, которые я включил в свой заголовок html.
Окно уже создано, но, конечно, в нем нет графика. Что это за ошибка? если я прокомментирую с большим / * .... * / созданием прокси и хранилища, ошибка исчезнет, поэтому проблема должна быть.
РЕДАКТИРОВАТЬ: я исправил эту самую проблему, я загрузил магазин с неправильной функцией .. я использовал jstore.loadData () вместо jstore.load (), моя ошибка .. извините
Второй вопрос: является ли это (следующий код) правильным способом составления диаграммы данных с помощью старших графиков из jsonstore?
(мы находимся в процессе создания диаграммы, я не публикую весь код, потому что он работает и, вероятно, публиковать его бесполезно)
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 .. слишком много рекурсии? какая рекурсия? Я не использую никакую рекурсивную функцию в своем коде ..