Jakiś czas temu napisałem skrypt który w zależności od ilości danych podanych przez użytkownika czasami wykonywał się ponad limit czasu skryptu (nie, to nie było jego zadanie

Kod
for (i=0;i < iMax;i++) {
var rXmlHttp = initXmlObject();
rXmlHttp.onreadystatechange = function(){onchange();}
rXmlHttp.open('POST','includes/server.php',true);
rXmlHttp.setRequestHeader('content-type','application/x-www-form-urlencoded;charset=utf-8');
rXmlHttp.send('sStuff='+sSendContent);
delete(rXmlHttp);
}
function initXmlObject () {
var rXmlHttp;
try {
rXmlHttp = new XMLHttpRequest();
}
catch (e) {
var aXmlHttp = new Array('MSXML2.XMLHTTP.5.0',
'MSXML2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0',
'MSXML2.XMLHTTP',
'Microsoft.XMLHTTP');
var bSuccess = false;
for (var i=0;i<aXmlHttp.lenght && !bSuccess;i++) {
try {
rXmlHttp = new ActiveXObject(aXmlHttp[i]);
bSuccess = true;
}
catch (e) {}
}
if (!bSuccess) {
throw new error ("blad!");
}
}
return rXmlHttp;
}
var rXmlHttp = initXmlObject();
rXmlHttp.onreadystatechange = function(){onchange();}
rXmlHttp.open('POST','includes/server.php',true);
rXmlHttp.setRequestHeader('content-type','application/x-www-form-urlencoded;charset=utf-8');
rXmlHttp.send('sStuff='+sSendContent);
delete(rXmlHttp);
}
function initXmlObject () {
var rXmlHttp;
try {
rXmlHttp = new XMLHttpRequest();
}
catch (e) {
var aXmlHttp = new Array('MSXML2.XMLHTTP.5.0',
'MSXML2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0',
'MSXML2.XMLHTTP',
'Microsoft.XMLHTTP');
var bSuccess = false;
for (var i=0;i<aXmlHttp.lenght && !bSuccess;i++) {
try {
rXmlHttp = new ActiveXObject(aXmlHttp[i]);
bSuccess = true;
}
catch (e) {}
}
if (!bSuccess) {
throw new error ("blad!");
}
}
return rXmlHttp;
}
Funkcja onchange jest dość spora i odwołuje się do jeszcze drugiej. W tym leży chyba problem bo z moich "badań" wynika że zmienna jest wywalana przed tym jak serwer zwróci wyniki i wszystko się rozwala. Próbowałem dodać jakąś pętle która by czekała aż funkcja onchange skończy działanie ale kończyło się to epic failem ;-) przeglądarka się zapętlała.
Aha i jeszcze mam takie pytanie: czy warto się pchać w rozwiązania zastępcze takie jak iframe i cookies? Zamierzam jeszcze zrobić wersje strony która będze pozbawiona java scriptu i myśle że to wystarczy. Co o tym myślcie?
Proszę o pomoc i pozdrawiam