Javascript 向海图发送数据

Javascript 向海图发送数据,javascript,highcharts,Javascript,Highcharts,我需要循环遍历数据,将其捕获到变量中,然后将其发送到HighCharts 但是我做不到 有人能帮忙吗 这是我的密码: $.ajax({ type: "POST", url: "/", data : { 'perfid': valueOne, 'hostname': $("#host").val(), 'iteration': valueThree}, success: function(data) { $('#img1').hide(); var obj = da

我需要循环遍历数据,将其捕获到变量中,然后将其发送到HighCharts

但是我做不到 有人能帮忙吗

这是我的密码:

$.ajax({
  type: "POST",
  url: "/",
  data : { 'perfid': valueOne, 'hostname': $("#host").val(), 'iteration': valueThree},
  success: function(data) {
    $('#img1').hide();

   var obj = data[$("#host").val()].iscsi_lif.result.sectoutput.sect;

    for(var key in obj) {

            var avg_latency = parseInt(obj[key].avg_latency);
            i++;
            console.log(avg_latency);           
    }


    $('#graphcontainer2').highcharts({
    chart: {
        type: 'column'
    },
    title: {
        text: 'Write Latencies'
    },
    xAxis: {
        type: 'category',
        labels: {
            rotation: -45,
            style: {
                fontSize: '13px',
                fontFamily: 'Verdana, sans-serif'
            }
        }
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Write Latencies(us)'
        }
    },
    legend: {
        enabled: false
    },
    tooltip: {
        pointFormat: 'Write Latencies: <b>{point.y:.1f}%</b>'
    },
    series: [{
        name: 'Write latency',
        data: [ 
                ['Average Latency', parseInt(avg_latency)],
              ],
        dataLabels: {
            enabled: true,
            rotation: -90,
            color: '#FFFFFF',
            align: 'right',
            format: '{point.y:.1f}', // one decimal
            y: 10, // 10 pixels down from the top
            style: {
                fontSize: '13px',
                fontFamily: 'Verdana, sans-serif'
            }
        }
    }]
});
$.ajax({
类型:“POST”,
网址:“/”,
数据:{'perfid':valueOne,'hostname':$(“#host”).val(),'iteration':valueThree},
成功:功能(数据){
$('#img1').hide();
var obj=data[$(“#主机”).val()].iscsi_lif.result.sectoutput.sect;
for(obj中的var键){
var avg_latency=parseInt(obj[key].avg_latency);
i++;
console.log(平均延迟);
}
$(“#graphcontainer2”).高图表({
图表:{
类型:“列”
},
标题:{
文本:“写入延迟”
},
xAxis:{
类型:'类别',
标签:{
轮调:-45,
风格:{
fontSize:'13px',
fontFamily:“Verdana,无衬线”
}
}
},
亚克斯:{
分:0,,
标题:{
文本:“写入延迟(us)”
}
},
图例:{
已启用:false
},
工具提示:{
pointFormat:'写入延迟:{point.y:.1f}%'
},
系列:[{
名称:“写入延迟”,
数据:[
[“平均延迟”,parseInt(平均延迟)],
],
数据标签:{
启用:对,
轮换:-90,
颜色:“#FFFFFF”,
对齐:“右”,
格式:'{point.y:.1f}',//一位小数
y:10,//从顶部向下10像素
风格:{
fontSize:'13px',
fontFamily:“Verdana,无衬线”
}
}
}]
});
以下是控制台平均延迟值的屏幕截图:

我想显示所有平均延迟的图形。 有人能指出我在这段代码中做错了什么吗。
谢谢。

您应该将字典中的数据列表传递到highchart系列,请尝试以下操作:

$.ajax({
  type: "POST",
  url: "/",
  data : { 'perfid': valueOne, 'hostname': $("#host").val(), 'iteration': valueThree},
  success: function(data) {
    $('#img1').hide();

   var obj = data[$("#host").val()].iscsi_lif.result.sectoutput.sect;
    var my_data_list = [];
    for(var key in obj) {
            var avg_latency = parseInt(obj[key].avg_latency);
            my_data_list.push({name: 'Average Latency', y: parseInt(avg_latency)});
            console.log(avg_latency);           
    }


    $('#graphcontainer2').highcharts({
    chart: {
        type: 'column'
    },
    title: {
        text: 'Write Latencies'
    },
    xAxis: {
        type: 'category',
        labels: {
            rotation: -45,
            style: {
                fontSize: '13px',
                fontFamily: 'Verdana, sans-serif'
            }
        }
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Write Latencies(us)'
        }
    },
    legend: {
        enabled: false
    },
    tooltip: {
        pointFormat: 'Write Latencies: <b>{point.y:.1f}%</b>'
    },
    series: [{
        name: 'Write latency',
        data: my_data_list,
        dataLabels: {
            enabled: true,
            rotation: -90,
            color: '#FFFFFF',
            align: 'right',
            format: '{point.y:.1f}', // one decimal
            y: 10, // 10 pixels down from the top
            style: {
                fontSize: '13px',
                fontFamily: 'Verdana, sans-serif'
            }
        }
    }]
});
$.ajax({
类型:“POST”,
网址:“/”,
数据:{'perfid':valueOne,'hostname':$(“#host”).val(),'iteration':valueThree},
成功:功能(数据){
$('#img1').hide();
var obj=data[$(“#主机”).val()].iscsi_lif.result.sectoutput.sect;
var my_data_list=[];
for(obj中的var键){
var avg_latency=parseInt(obj[key].avg_latency);
my_data_list.push({name:'Average Latency',y:parseInt(avg_Latency)});
console.log(平均延迟);
}
$(“#graphcontainer2”).高图表({
图表:{
类型:“列”
},
标题:{
文本:“写入延迟”
},
xAxis:{
类型:'类别',
标签:{
轮调:-45,
风格:{
fontSize:'13px',
fontFamily:“Verdana,无衬线”
}
}
},
亚克斯:{
分:0,,
标题:{
文本:“写入延迟(us)”
}
},
图例:{
已启用:false
},
工具提示:{
pointFormat:'写入延迟:{point.y:.1f}%'
},
系列:[{
名称:“写入延迟”,
数据:我的数据列表,
数据标签:{
启用:对,
轮换:-90,
颜色:“#FFFFFF”,
对齐:“右”,
格式:'{point.y:.1f}',//一位小数
y:10,//从顶部向下10像素
风格:{
fontSize:'13px',
fontFamily:“Verdana,无衬线”
}
}
}]
});

您应该将一个数据数组传递给highchart数据,但听起来您只传递了一个数据。@VahidMsm我尝试了数组,但在尝试传递数组后显示了显示,但没有显示任何内容,您可以为此发布一个JSFIDLE吗?TIAIt现在可以工作了:)谢谢,我知道如何将数据作为系列传递。你今天让一个人很开心@vahidmm