Buonasera,
nella mia web form ho caricato una grafico highcharts, dove nell'opzione events
ho inserito:
events: {
load: function () {
var series = this.series[0];
var data = [];
clearInterval(refreshIntervalId);
refreshIntervalId = setInterval(function () {
if ($('#pause:checked').length > 0) return;
if ($('#Indice:checked').length > 0) {
if (indice == false) {
offset += 1;
indice = true;
}
} else {
if (indice == false) {
offset -= 1;
indice = true;
}
}
$.ajax({
type: "POST",
url: url,
data: datavb,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var data1 = [];
if (response.d != 0) {
$(".Non").css("display", "none");
var puntiletti = JSON.parse(response.d)
for (i = 0; i < puntiletti.length; i++) {
data1.push([j, parseInt(puntiletti[i].data)])
j +=1
}
for (i = 0; i < data1.length; i++)
series.addPoint(data1[i], true, true);
} else {
aumenta = false;
$(".Non").css("display", "block");
}
},
error: function (msg) {
},
failure: function (response) {
alert(response.d);
}
});
if (aumenta == true) {
url = "WFrmStreaming.aspx/AltriDati";
datavb = '{ offset: "' + offset + '"}';
} else {
aumenta = true;
}
}, TempoPassoLettura * 1000);
}
}
La mia problematica e' che nella lettura dei dati ne ho tanti (circa 262) e quindi il ciclo (for (i = 0; i < puntiletti.length; i++)) lo ripete per questo valore e nel frattempo richiama di nuovo l'evento ajax; quindi tutto quello che avviene nella pagina (magari se clicco qualche pulsante o una checkbox) il risultato si verifica con ritardo, e questo forse per il calcolo dei punti e il richiamo della pagina in WebMethod.
E' possibile caricare il grafico magari in modalita' asincrona o magari in modo tale che tutto quello che avviene nella form non accada con tutto questo ritardo?
Vi rigranzio per la risposta,
davide
n.b.: l'url fa riferimento a delle funzioni definite sul server, dato che il file di lettura (che contiene valori esadecimali che io trasformo in valori decimali) e' presente sul server e quindi sono costretto ad eseguirlo su di esso. grazie