我有以下奇怪的问题。我有一个HTML页面,其中包含一些RGraph仪表,我想使用Ajax定期更新。
相关代码如下所示:
var update = function(){
$.ajax({
url : "update.php",
dataType : 'json',
success : function (json) {
meterWind.set('value',json['hum']);
}
});
};
$('#test').click(function(){
update();
});
setInterval(update, 2000);
json输出正常,我用一个警告检查它,它确实返回一个值,由于某种原因,仪表没有更新。因此,为了进一步测试,我创建了一个按钮“test”并将函数update()设置为在单击测试时触发。
现在由于某种原因,当我单击测试按钮时,仪表会更新 - 这表明update()函数有效,只需尝试多次单击测试按钮即可。
然而,无论我做什么和尝试,当我用setInterval触发函数时,仪表不会改变......很奇怪,有什么建议吗?
http://meteotemplate.com/templateTest/testing/index.html
我也尝试在“点击”上设置间隔,当我在点击中设置警报时,它会发出警报,但同样没有更新指标。
var x = setInterval(function(){ $('#test').trigger("click");}, 3000);
答案 0 :(得分:2)
检查您提供的代码,更改后(ajax请求的成功回调)使其工作。这意味着基本上在任何更改之后,您需要通过调用UI
方法来更新draw()
。
success : function (json) {
meterWind.set('value',json['hum']);
meterWind.draw();
}