Heb in javascript een for loopje waarmee ik dmv xmlhttprequest een stuk jsp script aanroep die vervolgens een xml genereert.
Nu is het alleen zo dat de ene bewerking in de jsp (die een database bewerking doet) afhankelijk is van de vorige bewerking. Dit omdat deze (opeenvolgende) acties gevolg hebben op 1 regel in de database, waarbij in de jsp een check wordt gedaan of de regel al bestaat. Zo nee, een insert, zo ja een update.
Nu is alleen het probleem dat het aanroepen van de jsp te snel op elkaar volgt, waardoor de ene jsp nog niet 'klaar' is als de andere al weer start. Dit resulteert dan in het feit dat er twee processen van de jsp parallel aan elkaar lopen en daardoor twee inserts plaatsvinden ipv eerst een insert en daarna een update.
Als ik echter een alert (=pauze moment) plaats in het for loopje dan gaat alles goed, omdat de jsp dan rustig de tijd heeft om zijn werk te doen.
Nu wil ik natuurlijk geen alert ertussen en heb ik het geprobeerd met een (eigen gemaakte) pauze functie, maar dit werkt ook niet echt.
Heeft iemand een idee wat ik hieraan kan doen of hoe ik kan detecteren of de jsp al klaar is met zijn werk??
PS: in firefox werkt het wel helemaal goed, maar dus niet in IE. Blijkbaar start ie al een volgend proces op, terwijl hij nog niet klaar is met de vorige.
PS2: nu heb ik wel een onreadystatechange() check erin, die pas wat uitvoert als die 4 is, maar blijkbaar gaat hij toch al verder in de for-loop
Nu is het alleen zo dat de ene bewerking in de jsp (die een database bewerking doet) afhankelijk is van de vorige bewerking. Dit omdat deze (opeenvolgende) acties gevolg hebben op 1 regel in de database, waarbij in de jsp een check wordt gedaan of de regel al bestaat. Zo nee, een insert, zo ja een update.
Nu is alleen het probleem dat het aanroepen van de jsp te snel op elkaar volgt, waardoor de ene jsp nog niet 'klaar' is als de andere al weer start. Dit resulteert dan in het feit dat er twee processen van de jsp parallel aan elkaar lopen en daardoor twee inserts plaatsvinden ipv eerst een insert en daarna een update.
Als ik echter een alert (=pauze moment) plaats in het for loopje dan gaat alles goed, omdat de jsp dan rustig de tijd heeft om zijn werk te doen.
Nu wil ik natuurlijk geen alert ertussen en heb ik het geprobeerd met een (eigen gemaakte) pauze functie, maar dit werkt ook niet echt.
Heeft iemand een idee wat ik hieraan kan doen of hoe ik kan detecteren of de jsp al klaar is met zijn werk??
PS: in firefox werkt het wel helemaal goed, maar dus niet in IE. Blijkbaar start ie al een volgend proces op, terwijl hij nog niet klaar is met de vorige.
PS2: nu heb ik wel een onreadystatechange() check erin, die pas wat uitvoert als die 4 is, maar blijkbaar gaat hij toch al verder in de for-loop
[ Voor 7% gewijzigd door Verwijderd op 24-01-2007 13:22 ]