在一方面,我有一个基于Justgage网站上的示例的JavaScript,其中包含随机生成器以提供演示值。 目的是显示XML文件中的值。
对最小值,最大值,标签,标题等进行调整是没有问题的,导致下面的脚本段定义var g1的函数,并且对变量g2,g3和g4重复
window.onload = function(){
var g1 = new JustGage({
id: "g1",
value: getRandomInt(100, 200),
min: 0,
max: 200,
title: "Power",
label: "W"
textRenderer: customValue1
});
另一侧是一个XML文件,其中包含要导入Javascript的gauge_power,gauge_temp,gauge_vpv和gauge_iac的值,分别用于“填充”g1,g2,g3和g4。
<response>
<gauge_power>1300</gauge_power>
<gauge_temp>0.0</gauge_temp>
<gauge_vpv>103.0</gauge_vpv>
<gauge_iac>0.0</gauge_iac>
<energy_today>2.658</energy_today>
<energy_total>7324.9</energy_total>
<hours_total>17490</hours_total>
<time_stamp>20161017 13:32</time_stamp>
</response>
在我看来,我需要替换脚本行
value: getRandomInt(100, 200),
通过替代'call',g1从XML文件中提取gauge_power的值。
尝试了StackOverflow的几个示例解决方案,但没有结果。
请求(提示)此案例的工作解决方案
答案 0 :(得分:0)
function createGage(val){
return new JustGage({
id: "g1",
value: val,
min: 0,
max: 200,
title: "Power",
label: "W"
textRenderer: customValue1
});
var xhr = new XMLHttpRequest();
xhr.open("GET", "/path/to/file.xml", true);
xhr.onreadystatechange = function () {
if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
var xml = xhr.responseText;
var parser = new DOMParser();
var domFragment = parser.parseFromString(xml, 'text/xml');
var gaugePower = domFragment.querySelector('gauge_power').textContent;
createGage(gaugePower);
}
};
xhr.send();