そのため、ページ内で呼び出す一連の関数を作成しています。それらはすべて「seeingPlotFunc.js」ファイル内に存在し、私はそれを呼び出し、html ファイルの本体内のいくつかの関数を呼び出します。最初に宣言された dome グローバルな空の配列がありますが、それらを更新する関数が呼び出されると、それらはまだ空を返します。
seeingPlotFunc.js の関連コード:
var seeingPlot = seeingPlot || {};
seeingPlot.jsondata1 = [];
seeingPlot.initialData = function () {
d3.json(seeingPlot.initialphp1, function(error1, data1) {
// after getting the data it's parsed into array
data1.forEach(function(d){
d.date = seeingPlot.parseDate(d.date);
d.f_tok = +d.f_tok;
seeingPlot.jsondata1.push(d);
})
})
}
および html ファイル内の関連コード:
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script language="javascript" type="text/javascript"
src="JS/seeingPlotFunc.js"></script>
<script type="text/javascript">
seeingPlot.initialData();
console.log(seeingPlot.jsondata1);
</script>
</body>
空の配列を返します。すべてのデータを配列にプッシュした直後に呼び出すと、適切な値が返されます。私は長い間、これで頭を叩いていました...