Javascript计时器只调用一次Code后方法

时间:2016-04-25 08:13:45

标签: javascript c# arrays timer heatmap

我正在尝试通过调用methodw后面的代码来创建动态热图,该代码将数据提供给热图。我有一个调用函数 GetNewHeatMapDataTable()的计时器。该函数获取新数据并将其推送到现有数组(pointArray)以动态更新地图。计时器运行如下。但是,变量 newheatmapdata 的值不会更改,并且该函数仅调用方法 GetIAHeatMapDataTable(“XXXXXXX”)后面的代码一次。我不确定我做错了什么。我希望有人能指出我正确的方向。

以下是我的代码片段

preload_app

提前致谢。

1 个答案:

答案 0 :(得分:0)

解决:非常感谢Stephen。我按照你的建议做了。工作就像一个魅力。这是我获取新数据并将其推送到热图的新代码

    function fetchNewData() {    
            $.ajax({
                type: "POST",
                url: "Webform1.aspx/GetIANewHeatMapDataTable",
                data: JSON.stringify({ level: "XXXXXXX" }),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: false,
                success: function(data) {                     
                    var newheatmapdata = [] ;
                    newheatmapdata = eval('(' + data.d + ')');

                    if (newheatmapdata.length > 0){    
                        for (i = 0; i < newheatmapdata.length; i++) {                                
                            pointArray.push.apply(pointArray, newheatmapdata);                                    
                            heatmapLayer.setData(pointArray);
                        }
                    }                            
                },
            });

        }
    setInterval(function() {fetchNewData();},1000);