我有以下ajax调用:
$.ajax({
type: 'POST',
url: '../ws_BQS.asmx/ResultadosDimensionalByDate',
data: '{"fecha":"' + fecha + '"}',
dataType: 'json',
contentType: 'application/json',
timeout: 600000,
error: function (xhr) {
},
success: function (data) {
var t = data.d;
var split;
var datos = t.split(",");
//Thickness
for (var i = 0; i < datos.length; i++) {
array1.push(datos[i]);
i++;
i++;
i++;
//alert(array1);
}
//Width
for (var w = 0; w < datos.length; w++) {
w++;
//array2.push(datos[w]);
w++;
w++;
}
alert(array1);
chart(array1);
}
});
警告信息是(1,5,9,14,18),这是我的期望,但问题是我的图表功能没有做我想要的,这里是代码:
function chart(arreglo) {
$('#Grafica').highcharts({
chart: {
type: 'bar'
},
title: {
text: 'Inspeccion Dimensional'
},
xAxis: {
categories: ['Pieza 1', 'Pieza 2', 'Pieza 3', 'Pieza 4', 'Pieza 5']
},
yAxis: {
min: 0,
title: {
text: 'Resultados'
}
},
legend: {
reversed: true
},
plotOptions: {
series: {
stacking: 'normal'
}
},
series: [{
name: 'Thickness',
data: arreglo
}, {
name: 'Width',
data: [2, 2, 3, 2, 1]
}, {
name: 'Length',
data: [2, 2, 3, 2, 1]
}, {
name: 'Diameter',
data: [3, 4, 4, 2, 5]
}]
});
alert(arreglo);
}
我的警报消息与我的ajax调用相同,所以没问题,问题是当我在arreglo
选项中使用我的var series
时,我没有收到任何错误消息,只是似乎是arreglo it's empty
,我试图解决此问题,但我发现这可能是array1.push(datos[i]);
的问题,因为如果array1.push(values manually)
它有效,我该如何解决?
更新
这是一个Fiddle来查看我的问题。
更新#2
这些是我获取数据的方式:
data: console.log = 1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21
var datos = t.split(",");
console.log(datos) = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21"]
for loop
console.log(array1) = ["1", "5", "9", "14", "18"]
chart function
console.log(arreglo) = ["1", "5", "9", "14", "18"]
有了这个,我可以看到用&#34;&#34;接收数据是错误的,那么我怎么能改变这个呢?
答案 0 :(得分:2)
你的数组必须包含数字,而不是它包含字符串,这就是系列看起来没有任何数据的原因。
将字符串解析为数字,并按预期工作。
Group Amount
a 500
b 600
c 300