我想爲我們公司使用的各種R/Shiny儀表板的索引頁編碼一些儀表。該頁面只是一系列的div,其中有一些樣式可以導致這些各種R應用程序。JavaScripts無法識別var持有解析JSON
最近,我們的高管表達了很多興趣,看到頁面頂部的燃油表風格的圖表,表示每個部門的月收入和$目標。
我決定使用JustGage插件製作量表。我們使用腳本將csv的數據從csv中提取出來,我的主管將這些腳本放在一起,將這些數據轉儲到服務器上的JSON文檔中。我們正在討論一個包含6行的JSON文件。很簡單。
我正在使用AJAX XMLHttpRequest,而且這似乎工作。然而,whenI去解析數據存儲到一個變量,然後在我的儀表參數引用它,我得到:
在檢查窗口(index):182 Uncaught ReferenceError: feeData is not defined at (index):182 (anonymous) @ (index):182
。
該特定行是對包含JSON數據的var的第一次引用。
任何幫助將......好,有幫助!
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
var feeData = JSON.parse(this.responseText);
if (this.readyState == 4 && this.status == 200) {
var feeData = JSON.parse(this.responseText);
}
};
xhttp.open("GET", "test.json", true);
xhttp.send();
var g = new JustGage({
titleFontColor: "black",
labelFontColor: "black",
id: "DEF",
value: feeData.DEFCurrent,
pointer: true,
min: 0,
max: feeData.DEFGoal,
title: "DEF"
});
var g = new JustGage({
titleFontColor: "black",
labelFontColor: "black",
id: "EBO",
value: feeData.EBOCurrent,
pointer: true,
min: 0,
max: feeData.EBOGoal,
title: "EBO"
});
var g = new JustGage({
titleFontColor: "black",
labelFontColor: "black",
id: "Company",
value: (feeData.EBOCurrent + feeData.DEFCurrent),
pointer: true,
min: 0,
max: (feeData.EBOGoal + feeData.DEFGoal),
title: "Company"
});
var g = new JustGage({
titleFontColor: "black",
labelFontColor: "black",
id: "Legal",
value: feeData.LegalCurrent,
pointer: true,
min: 0,
max: feeData.LegalGoal,
title: "Legal"
});
</script>
這裏的JSON文件
{"EBOGoal":1000,"EBOCurrent":900,"DEFGoal":2000,"DEFCurrent":1500,"LegalGoal":500,"LegalCurrent":450}
這也可能是值得一提的是,儀表本身完全正常工作,當我在虛擬數值交換的最大值和初始值參數的量表的JS代碼。
太棒了!謝謝!現在回想起來似乎很明顯。 –