如果没有新数据,如何在实时高级图表中停止ajax调用

时间:2013-02-14 15:01:55

标签: jquery ajax highcharts

我正在使用highcharts框架的实时更新版本 对我的数据库进行更新 我想知道是否有方法在没有新数据添加到图表时给我提醒。 当我的数据库中没有插入新数据时,ajax调用已经停止

                  function requestData() {
            $.ajax ({
            type:"get" ,
    url: "<?php echo 
             CController::createUrl('sens/GetSensorsDataLive') ?>",

            data: {"sensId" : "<?php echo $modelsens['node_id'] ?>" },
               dataType: "json",

             success: function(point) {

          var series = chart.series[0],


          shift = series.data.length > 25 ;
               chart.series[0].addPoint(eval(point),true, shift); // add the point
              setTimeout(requestData,1000);    // call it again after one second
    /// what I should add here 

                                   },

         cache: false
       });

      } 
非常感谢

2 个答案:

答案 0 :(得分:1)

你确定它运行success吗?如果出现错误,请运行error 因此,也请requestData致电error

success: function(point) {

    var series = chart.series[0],

    shift = series.data.length > 25 ;
    chart.series[0].addPoint(eval(point),true, shift); // add the point
    setTimeout(requestData,1000);    // call it again after one second
},

error: function() {
    alert('no data');
    setTimeout(requestData,1000);
}

答案 1 :(得分:0)

那么它应该检查你的数据是否有长度,所以如果是空的那么你可以在Highcharts中将数据设置为null。