Ciao a tutti,
vorrei porre una questione dovuta probabilmente al fatto che, seppur usando Ajax, non ne ho comprese ancora bene le caratteristiche di asincronia e sincronia.
Vengo alla questione:
sto scrivendo un programma che deve mandare (tra le altre cose) dei dati ad un database. Questi dati saranno successivamente elaborati per ricavarne grafici e quant'altro.
Per semplificare la spiegazione diciamo che ad ogni evento click di un particolare tasto viene richiamata una funzione ajax che manda un record di dati al database.
E' indispensabile che la sequenza di invio venga rispettata per non avere risultati sballati nella successiva elaborazione. Quindi se per esempio uno dei campi riporta il numero di invii
dovrà per esempio essere:
ID CONTATORE
.... .......
.... .......
345 10
346 11
347 12
.... .......
Tutto funziona come dovrebbe tranne qualche caso nel quale succede che la sequenza contatore non è esatta ossia capita che:
ID CONTATORE
.... .......
.... .......
345 10
346 12
347 11
.... .......
mi sto spiegando questo inconveniente adducendo il problema al fatto che essendo le chiamate ajax asincrone è possibile che anche se l'invio 12 è partito dopo l'11,
nel caso in cui l'11 per qualche caso strano non venga immediatamente registrato, non venga rispettato l'ordine di invio ma il primo che arriva prende la priorità di registrazione: mi sbaglio o
è possibile tutto ciò?
E' possibile risolvere il problema impostando la proprietà 'async:"false"'?
In tal caso siccome le chiamate ajax dovrebbero essere asincrone per loro natura quali problemi collaterali potrebbero sorgere?
Grazie a tutti coloro che hanno avuto la pazienza di leggere queste mie righe.
vorrei porre una questione dovuta probabilmente al fatto che, seppur usando Ajax, non ne ho comprese ancora bene le caratteristiche di asincronia e sincronia.
Vengo alla questione:
sto scrivendo un programma che deve mandare (tra le altre cose) dei dati ad un database. Questi dati saranno successivamente elaborati per ricavarne grafici e quant'altro.
Per semplificare la spiegazione diciamo che ad ogni evento click di un particolare tasto viene richiamata una funzione ajax che manda un record di dati al database.
E' indispensabile che la sequenza di invio venga rispettata per non avere risultati sballati nella successiva elaborazione. Quindi se per esempio uno dei campi riporta il numero di invii
dovrà per esempio essere:
ID CONTATORE
.... .......
.... .......
345 10
346 11
347 12
.... .......
Tutto funziona come dovrebbe tranne qualche caso nel quale succede che la sequenza contatore non è esatta ossia capita che:
ID CONTATORE
.... .......
.... .......
345 10
346 12
347 11
.... .......
mi sto spiegando questo inconveniente adducendo il problema al fatto che essendo le chiamate ajax asincrone è possibile che anche se l'invio 12 è partito dopo l'11,
nel caso in cui l'11 per qualche caso strano non venga immediatamente registrato, non venga rispettato l'ordine di invio ma il primo che arriva prende la priorità di registrazione: mi sbaglio o
è possibile tutto ciò?
E' possibile risolvere il problema impostando la proprietà 'async:"false"'?
In tal caso siccome le chiamate ajax dovrebbero essere asincrone per loro natura quali problemi collaterali potrebbero sorgere?
Grazie a tutti coloro che hanno avuto la pazienza di leggere queste mie righe.