0

我有以下奇怪的问题。我有一个包含一些 RGraph 仪表的 HTML 页面,我想使用 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 输出没问题,我用警报检查了它,它确实返回了一个值,由于某种原因,仪表没有更新。因此,为了进一步测试它,我创建了一个“测试”按钮并将函数 update() 设置为在单击测试时触发。

现在由于某种原因,当我单击测试按钮时,仪表会按应有的方式更新 - 这表明 update() 函数有效,只需尝试多次单击测试按钮即可。

但是,无论我做什么和尝试什么,当我用 setInterval 触发该功能时,仪表都不会改变......很奇怪,有什么建议吗?

http://meteotemplate.com/templateTest/testing/index.html

我还尝试在“点击”上设置间隔,当我在点击中放置警报时,它会发出警报,但同样,仪表上没有更新。

var x = setInterval(function(){ $('#test').trigger("click");}, 3000);
4

1 回答 1

2

查看您提供的代码,进行更改(您的 ajax 请求的成功回调)使其工作。这意味着基本上在任何更改之后,您都需要UI通过调用draw()方法来更新。

success : function (json) {
    meterWind.set('value',json['hum']);
    meterWind.draw();
}
于 2015-08-01T00:41:43.610 回答