Javascript 来自ajax php程序的Highcharts系列setData

Javascript 来自ajax php程序的Highcharts系列setData,javascript,php,ajax,highcharts,Javascript,Php,Ajax,Highcharts,我在我的网站上使用Highcharts。然后是一个Ajax PHP过程,通过单击图例项从数据库动态加载数据。现在我想将结果设置到序列数据中,但没有成功,因为我无法使用“this”,因为“this”不再是图例项。您可以从下面的代码中理解它。我尝试了类似于chart.series.setData[]的方法,但没有成功。感谢您为我提供的解决方案 <script> Highcharts.chart('myChart', { series: [<?echo $allnames;?

我在我的网站上使用Highcharts。然后是一个Ajax PHP过程,通过单击图例项从数据库动态加载数据。现在我想将结果设置到序列数据中,但没有成功,因为我无法使用“this”,因为“this”不再是图例项。您可以从下面的代码中理解它。我尝试了类似于
chart.series.setData[]
的方法,但没有成功。感谢您为我提供的解决方案

<script>
Highcharts.chart('myChart', {
    series: [<?echo $allnames;?>],
    legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'top'
    },
    plotOptions: {
        series: {
            events: {
                legendItemClick: function() {
                    var jmeno=this.name;
                    var xmlhttp = new XMLHttpRequest();
                    xmlhttp.onreadystatechange = function() {
                        if (this.readyState == 4 && this.status == 200) {
                            myData= this.responseText;
                            //I am unable to use 'this' as it is not the legend item
                            this.setData([myData]);
                        }
                    };
                    xmlhttp.open("GET","/data.php?q="+jmeno,true);
                    xmlhttp.send();
                }
            }
        }
    },
});
</script>

Highcharts.chart('myChart'{
系列:[],
图例:{
布局:“垂直”,
对齐:“右”,
垂直排列:“顶部”
},
打印选项:{
系列:{
活动:{
legendItemClick:函数(){
var jmeno=this.name;
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
myData=this.responseText;
//我无法使用“this”,因为它不是图例项
这个.setData([myData]);
}
};
open(“GET”,”/data.php?q=“+jmeno,true);
xmlhttp.send();
}
}
}
},
});
已解决

<script>
Highcharts.chart('graf', {
    title: {text: 'Hello darkness my old friend'},
    series: [<?echo $allnames;?>],
    legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'top'
    },
    plotOptions: {
        series: {
            events: {
                legendItemClick: function() {
                    var jmeno=this.name;
                    var that=this;
                    var xmlhttp = new XMLHttpRequest();
                    xmlhttp.onreadystatechange = function() {
                        if (this.readyState == 4 && this.status == 200) {
                            var myData = this.responseText;
                            var splitData = myData.split(",");
                            var newData = [];
                            for(var i = 0;i<splitData.length;i++){
                                var num = splitData[i];
                                if(num != ""){
                                num = parseFloat(num);
                                newData.push(num);
                                }
                            }                           
                            that.setData(newData);
                        }
                    };
                    xmlhttp.open("GET","/data.php?q="+jmeno,true);
                    xmlhttp.send();
                }
            }
        }
    },
});
</script>


海图。海图('graf'{
标题:{text:'你好,我的老朋友'},
系列:[],
图例:{
布局:“垂直”,
对齐:“右”,
垂直排列:“顶部”
},
打印选项:{
系列:{
活动:{
legendItemClick:函数(){
var jmeno=this.name;
var=这个;
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var myData=this.responseText;
var splitData=myData.split(“,”);
var newData=[];
对于(var i=0;i