nick appropriato a quanto pare ... o forse sono io a non aver capito ...

2 o più chiamate ajax, se effettuate dalla stessa funzione, partono con l'ordine di chiamata della funzione (procedurale) ma se asincrone, termine non coniato a caso, non c'è assolutamente alcun vincolo/garanzia che le risposte arrivino in sequenza ... sarebbe come dire che se scrivessi:
codice:
setTimeout(function(){alert("1")}, 2000);
setTimeout(function(){alert("2")}, 25);
la funzione con alert("2") non venisse eseguita fino a che quellla con timeout da 2000 "non abbia finito", un pò una castroneria poichè è vero che JavaScript non è multi thread (e non è con Ajax o questo esempio che lo si capisce) ma è altrettanto vero che il clock, quando le chiamate sono asincrone, accoda la prima che arriva e la esegue appena può.

L'esempio di quanto detto è su una banalissima deadlock mostrata in questo mio post, dove è evidente che la sincronia di esecuzione non permette ad una chiamata asincrona di essere eseguita prima che la successione di operazioni procedurali sia ultimata ... esempio spiegato con tanto di codice anche nella guida Ajax ...

per concludere, avrebbe senso dire che 1 e 2 sono in sequenza in un caso come questo:
setTimeout(function(){alert("1")}, 25);
setTimeout(function(){alert("2")}, 25);
dove si sa che i tempi di risposta sono esattamente identici ma questo non è il caso di Ajax poichè il server (e mettiamoci anche la connessione in mezzo) può rispondere come meglio crede e raramente avrà gli stessi tempi su operazioni (pagine) differenti a meno che non ci siano vincoli ben noti ed impostati per cui una sessione utente non possa concludere operazione 2 finchè operazione 1 non è stata ultimata.

Questo vincolo è tipico della continuation ... che personalmente comincio ad odiare, ma tale procedura non è solitamente presente/impostata nei comuni host che usiamo tutti i giorni.

In soldoni, se dalla stessa window fai due chiamate e lo script crea una richiesta per ognuna di queste ma le stesse vengono processate "in procedurale" significa che hai vincoli di configurazione nel server/servizio che stai utilizzando, a volte sono vincoli giustificati (continuation) a volte sono impostazioni fatte male (o perchè no, lo script che usi che accoda in queue le requestes), non so quale sia il tuo caso


[edit]
Originariamente inviato da Mega69
La soluzione più ovvia sarebbe quella di fare una sola chiamata al server che ti restituisca tutti i valori che ti servono.
concordo in pieno ... soprattutto quando si accorpano 3 chiamate al server in un'unica callback, di solito c'è qualcosa che non va a livello di progettazione client/server