私は自分の質問に対する答えを見つけるためにかなり長い間 SO をサーフィンしてきましたが、困惑していることを認めなければなりません。ここでは非常に単純な何かが欠けているに違いないと思いますが、今は木に木が見えません。
JSON 経由でハイチャートをロードしようとしていますが、JSON は PHP 配列によって作成されています (これは、MySQL からデータを取得しているためです)。シリーズは正常にロードされていますが、チャートのタイトルを抽出できません。 . 私の理解では、そのコードは json.title.text のようなものにする必要があります...しかし、これは機能せず、スクリプトがクラッシュします。どんな助けでも大歓迎です!
PHP 配列は次のとおりです (単純化するためにダミー変数を配置しました...):
$arr =
array (
array (
'title' => array (
'text' => 'idiot'
),
'data' => array (
'2012-12-16; 0',
'2012-12-16; 23'
)
),
array (
'name' => 'Sacred cows',
'data' => array (
98.9914,
99.5429
)
),
);
echo json_encode($arr);
グラフを生成する JavaScript は次のとおりです。
function marketwidget(id){
var formData = "name="+ id + "&age=31";
$.ajax({
url : "marketwidget.php",
type: "POST",
data: formData,
success: function(data, textStatus, jqXHR)
{
var json = JSON.parse(data)
var len = json.length
i = 0;
var options = {
title: {
text: []
},
xAxis: {
categories: []
},
series: []
}
options.title.text = json.title.text
for (i; i < len; i++) {
if (i === 0) {
var dat = json[i].data,
lenJ = dat.length,
j = 0,
tmp;
for (j; j < lenJ; j++) {
tmp = dat[j].split(';');
options.xAxis.categories.push(tmp[0]);
}
} else {
options.series.push(json[i]);
}
}
$('#container').highcharts('StockChart', options);
},
error: function(jqXHR, textStatus, errorThrown)
{
}
});
}