Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态加载Ajax的条形图不显示_Javascript_Jquery_Ajax_Highcharts - Fatal编程技术网

Javascript 动态加载Ajax的条形图不显示

Javascript 动态加载Ajax的条形图不显示,javascript,jquery,ajax,highcharts,Javascript,Jquery,Ajax,Highcharts,我正致力于通过Ajax调用将Highcharts条形图与动态变化结合起来。我想我真的很快就明白了,但是它没有显示出来,我也没有看到问题所在。我相信我可以像在setInterval函数中那样更新点。我希望有人能看一下,给我一些建议…非常感谢 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

我正致力于通过Ajax调用将Highcharts条形图与动态变化结合起来。我想我真的很快就明白了,但是它没有显示出来,我也没有看到问题所在。我相信我可以像在setInterval函数中那样更新点。我希望有人能看一下,给我一些建议…非常感谢

<!DOCTYPE HTML>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Highcharts Example</title>

<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript">
<!--Ajax Function-->
var flag = 1;
var xmlhttp;
var url="http://mysite.com/web/ajax_info.txt";
//ajax call
function loadXMLDoc(url, cfunc){
   if(window.XMLHttpRequest){
      xmlhttp=new XMLHttpRequest();
   }
   else {
      xmlhttp=new ActiveObject("Microsoft.XMLHTTP");
   }
   xmlhttp.onreadystatechange=cfunc;
   xmlhttp.open("GET",url, true);
   xmlhttp.send();
}

function myFunction(){
   loadXMLDoc(url+'?_dc='+(new Date()).getTime(), function(){
      if(xmlhttp.readyState==4 && xmlhttp.status==200){
         flag = 1;
      }
   });
}

$(function () {
    var chart;
    $(document).ready(function() {
       chart = new Highcharts.Chart({
            chart: {
                renderTo: 'container',
                type: 'column'
            },
            title: {
                text: 'Active Tribble Sales'
            },
            subtitle: {
                text: 'Source: TribbleInternational.com'
            },
            xAxis: {
                categories: [
                    'Tribbles'
                ]
            },
            yAxis: {
                min: 0,
                title: {
                    text: 'Active Sales (%)'
                }
            },
            legend: {
                layout: 'vertical',
                backgroundColor: '#FFFFFF',
                align: 'left',
                verticalAlign: 'top',
                x: 100,
                y: 70,
                floating: true,
                shadow: true
            },
            tooltip: {
                formatter: function() {
                    return ''+
                        this.x +': '+ this.y +' mm';
                }
            },
            plotOptions: {
                column: {
                    pointPadding: 0.2,
                    borderWidth: 0
                }
            },
            series: [{
                   name: 'Good',
                   data: [80]

               }, {
                   name: 'Bad',
                   data: [1]
               }]
},

function(chart){
             setInterval(function() {
               myFunction();
               if(flag == 1){
                  var point = chart.series[0].points[0],
                  var point2 = chart.series[1].points[0],
                  newVal,
                  inc = Math.round((Math.random() - .5) * 20);

                  newVal = point.y + inc;
                  if (newVal < 0 || newVal > 100) {
                      newVal = point.y - inc;
                  }
                  point.update(newVal);
                  point2.update(1);
                }
                else{
               var point2 = chart.series[0].points[0],
                   var point = chart.series[1].points[0],
                   newVal,
               inc = Math.round((Math.random() - .5) * 20);

                   newVal = point2.y + inc;
                   if (newVal < 0 || newVal > 100) {
                      newVal = point2.y - inc;
                   }
               point2.update(newVal);
                   point.update(1);
               }
         flag = 0; //reset flag after point update. 
             }, 3000);
         }); 
});

</script>
    </head>
  <body>
<script src="highcharts.js"></script>

<div id="container" style="min-width: 300px; max-width: 300px; height: 400px; margin: 0 auto"></div>

</body>
</html>

海图示例
var标志=1;
var-xmlhttp;
变量url=”http://mysite.com/web/ajax_info.txt";
//ajax调用
函数loadXMLDoc(url,cfunc){
if(window.XMLHttpRequest){
xmlhttp=新的XMLHttpRequest();
}
否则{
xmlhttp=新的ActiveObject(“Microsoft.xmlhttp”);
}
onreadystatechange=cfunc;
open(“GET”,url,true);
xmlhttp.send();
}
函数myFunction(){
loadXMLDoc(url+'?_dc='+(新日期()).getTime(),函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
flag=1;
}
});
}
$(函数(){
var图;
$(文档).ready(函数(){
图表=新的高点图表。图表({
图表:{
renderTo:'容器',
类型:“列”
},
标题:{
文本:“活动Tribble销售”
},
副标题:{
文本:“来源:TribbleInternational.com”
},
xAxis:{
类别:[
“Tribbles”
]
},
亚克斯:{
分:0,,
标题:{
正文:“活跃销售额(%)”
}
},
图例:{
布局:“垂直”,
背景颜色:“#FFFFFF”,
对齐:“左”,
垂直排列:“顶部”,
x:100,
y:70,
浮动:是的,
影子:对
},
工具提示:{
格式化程序:函数(){
返回“”+
this.x+':'+this.y+'mm';
}
},
打印选项:{
专栏:{
点填充:0.2,
边框宽度:0
}
},
系列:[{
名字:'好',
数据:[80]
}, {
名字:“坏”,
数据:[1]
}]
},
功能(图表){
setInterval(函数(){
myFunction();
如果(标志==1){
变量点=图表。系列[0]。点[0],
var point2=图表.系列[1].点[0],
纽瓦尔,
inc=数学四舍五入((数学随机数()-.5)*20);
newVal=点y+inc;
如果(newVal<0 | | newVal>100){
newVal=point.y-inc;
}
更新点(newVal);
第2点:更新(1);
}
否则{
var point2=chart.series[0]。points[0],
变量点=图表。系列[1]。点[0],
纽瓦尔,
inc=数学四舍五入((数学随机数()-.5)*20);
newVal=point2.y+inc;
如果(newVal<0 | | newVal>100){
newVal=point2.y-inc;
}
点2.更新(newVal);
更新(1);
}
flag=0;//点更新后重置标志。
}, 3000);
}); 
});

检查语法,即大括号是否正确闭合

至于我注意到的

        series: [{
               name: 'Good',
               data: [80]

           }, {
               name: 'Bad',
               data: [1]
           }]
},

应该是})
自// 图表=新的高点图表。图表({

}))


请检查一下

你能告诉我到底是什么不起作用吗?初始图形加载?调用了SetInterval的内部函数(使用console.log('test')进行检查)。您在控制台中有任何错误吗?我在发布之前已经测试过了。添加})没有任何效果。我想我一定是错过了一个系列的更新或者什么的。我必须阅读图书馆的文档。
          }
     flag = 0; //reset flag after point update. 
         }, 3000);
       // } is missing
     });