Mianowicie choci o to że każde pobieranie danych muci być obsłuzone przez funkcje callbackową. Powoduje to znaczne pogorszenie komfortu programowania ponieważ nie możemy pobrać danych bezpośrednio do zmiennej i jednocześnie przerzucamy część logiki która owinna się znaleźć tuż przy wywołaniu do innej funkcji.
Przykład:
<script type="text/javascript"> //zamiast calkiem naturalnego document.getElementById( "container" ).value = ajax.makeRequest( "request" ); //jesteśmy zmuszeni do bardzo nie naturalnego function callback( response ){ document.getElementById( "container" ).value = response; } ajax.makeRequest( "request", callback ); </script>
Wiem że powyższy przykład wygląda całkiem niegroźnie ale przy bardziej skomplikowanych operacjach robi się już bałagan.
W pierwszym momencie rozwiązanie wydalo mi się banalnie proste. Aby zwrócić odpowiedź serwera wystaczy poczekać aż zostanie ona cała załadowana i przekazać ją dalej.
Coś w stylu:
Cytat
do
{
//jakas petla "usypiajaca"
}
while(ajax.http.readyState != 4);
{
//jakas petla "usypiajaca"
}
while(ajax.http.readyState != 4);
Okazuje sie jednak że przy takiej operacji readyState zawsze pozostaje jedynką , a nieskończona pętla wiesza przegladarki.
Przeszukałem naprawde spory kawałek sieci i nie udalo mi się znaleźć rozwiązania (oczywiście nie jest nim microsoftowski serverXMLHTTPReqquest ). Dlatego zwracam się do Was z prośbą o pomoc, bo co 11 044 głowy to nie jedna

----edit----
Bykom STOP

~mike_mech