Vanuit een html pagina doe ik via jQuery een eerste ajax post die een proces op de server in gang zet. Die eerste post geeft geen data terug het enige doel is een proces op de server in gang te zetten. Dat proces op de server kan wel eens een minuut duren. Deze request wordt daarom asynchroon gestuurd.
Vervolgens klikt de gebruiker op de webpagina op een button waardoor er een tweede ajax post wordt gedaan terwijl de eerste nog draait. De response van deze ajax request is echter voor de browser wel belangrijk maar dit is iets wat normaal direct door de server wordt teruggegeven het is een lichte request die weinig tijd kost. Omdat de response belangrijk is wordt deze tweede request niet asynchrone gedaan.
Als ik in firebug kijk zie ik allebei de ajax requests tegelijkertijd dus ik vermoed dat ze wel allebei al gepost zijn maar dat de webserver (Apache/PHP) pas de tweede request gaat behandelen als hij klaar is met de eerste. De browser staat dus te wachten totdat de eerste ajax call door de server helemaal is afgehandeld voordat het de data van de tweede ajax call van de server ontvangt. Ik gebruik op beide php pagina's trouwens sessies. Ik vraag me af waarom de webserver dat doet en hoe ik dat kan veranderen?
Vervolgens klikt de gebruiker op de webpagina op een button waardoor er een tweede ajax post wordt gedaan terwijl de eerste nog draait. De response van deze ajax request is echter voor de browser wel belangrijk maar dit is iets wat normaal direct door de server wordt teruggegeven het is een lichte request die weinig tijd kost. Omdat de response belangrijk is wordt deze tweede request niet asynchrone gedaan.
Als ik in firebug kijk zie ik allebei de ajax requests tegelijkertijd dus ik vermoed dat ze wel allebei al gepost zijn maar dat de webserver (Apache/PHP) pas de tweede request gaat behandelen als hij klaar is met de eerste. De browser staat dus te wachten totdat de eerste ajax call door de server helemaal is afgehandeld voordat het de data van de tweede ajax call van de server ontvangt. Ik gebruik op beide php pagina's trouwens sessies. Ik vraag me af waarom de webserver dat doet en hoe ik dat kan veranderen?
[ Voor 5% gewijzigd door Skidmarks op 01-04-2009 09:33 . Reden: 1e is async, 2e is sync ]