esta es mi primera publicación, pero estoy emocionado de unirme a esta comunidad. Tengo una pregunta con respecto a JavaScript que estoy completamente perplejo.El método JavaScript comienza con las variables asignadas ?? muy confundido
Estoy escribiendo una aplicación de JavaScript que extrae datos de un servidor utilizando ajax y los agrega a un gráfico. Estoy usando Jquery y Highcharts como marco y luego estoy escribiendo mi propio 'envoltorio' de JavaScript alrededor de Highcharts para producir la interfaz.
Cuando se devuelve la llamada a la función processData con la respuesta jSON, comienza con i = 1, aunque ni siquiera debería inicializarlo o incluso declararlo. También se establecen otras variables. (Lo sé usando herramientas de desarrollador de Chrome para depurar). Esto hace que mi ciclo no se ejecute y ninguno de mis datos se agrega al gráfico.
No sé cuánto código mostrar, pero estas son las partes más relevantes. Puedo agregar más si es necesario.
function getData(series, min, max, numpts) {
if (series === undefined) {
console.log("error on getData");
return;
}
var request = {};
request.series = series;
if (min !== undefined) {
request.start = min;
} //in seconds
if (max !== undefined) {
request.end = max;
}
if (numpts !== undefined) {
request.numpts = numpts;
}
$.getJSON('/data', request, processData);
return;
}
function processData(data) {
// handle the data after it comes back from an ajax request
var curSeries,
chartSeries,
curPoint;
for (var i = 0; i < data.length; i ++) {
curSeries = data[i];
chartSeries = chart.get(curSeries.name);
if (chartSeries === null) {
//alert("oops");
chart.addSeries(curSeries);
} else {
for (var j = 0; j < curSeries.data.length; j ++) {
curPoint = curSeries.data[j];
chartSeries.addPoint(curPoint, false);
}
}
}
chart.redraw();
}
Estos son los dos métodos de una clase que declaro llamado gráfico.
Gracias si alguien tiene alguna idea! -Matt P
'i' nunca comenzará como 1. La única forma en que su ciclo no se ejecutará es si data.length == 0. Haga' alert (data.length) 'en la parte superior de' processData' y verifique. – Matt