我正试图在实时更新超时中调用rrdFlotAsnc
,我总是得到一个例外:
0x80004005 ... FetchBinaryURLAsync :: .... data:no
没有通过计时器调用,一切正常,所以我有点困惑。
我使用了调试器,我更困惑:
我的代码:
if ( typeof (f) == 'undefined' ) {
var f=new rrdFlotAsync("mygraph2",fname,null,{yaxis:{min:1000,max:1030}},gtype_format,ops);
} else {
f= rrdFlotAsync("mygraph2",fname,null,{yaxis:{min:1000,max:1030}},gtype_format,ops);
}
每次,程序跳进两种情况????但为什么??这是一个缺少参数的问题吗?
并说明了例外的原因。
欢迎所有评论。
完整的代码:
function drawBaro() {
document.write('<div id="mygraph2"></div>');
//document.getElementById("infotable").deleteRow(0);
fname="/Aurora/db/baro.rrd";
var gtype_format={'druck':{ title: 'druck', label:'Druck', color: "#ff8080"}}
var ops={use_checked_DSs: true, checked_DSs: ['druck'], use_rra:true, rra:0, graph_width:"800px", use_windows: false, graph_only:true}
// the rrdFlotAsync object creates and handles the graph
var vorh = 0;
if ( typeof (f) == 'undefined' ) {
vorh = 1;
} else {
vorh = 2;
}
// var f=new rrdFlotAsync("mygraph2",fname,null,{yaxis:{min:1000,max:1030}},gtype_format,ops);
if ( vorh == 1) {
var f=new rrdFlotAsync("mygraph2",fname,null,{yaxis:{min:1000,max:1030}},gtype_format,ops,null, null, ucallb);
} else {
f= rrdFlotAsync("mygraph2",fname,null,{yaxis:{min:1000,max:1030}},gtype_format,ops);
}
}
function ucallb () {
alert ();
}
function drawBaroDia () {
var updateInterval = 20 * 1000;
$(this).val("" + updateInterval);
update ();
}
function update () {
var updateInterval = 20 * 1000;
drawBaro ();
setTimeout ( update, updateInterval );
}
}