Wybuchowy AJAX

Nov 22, 2007 - 1 min read

DISCLAIMER

This article has been recovered using archive.org as my plan to find back how I evolved over the years. My opinons might have changed since. I was 23 years old when I wrote it.

Jak przechwycić dane otrzymane za pośrednictwem AJAXa w prototype.js? Wydawało mi się, iż jest do dość proste. Byłem w błędzie. Pewien programista znalazł wyjątkowo błyskotliwe rozwiązanie tego problemu:

xmlRequest = new Ajax.Request (
  url,
  {
  method : 'GET',
  onSuccess : function ( resp ) {
  	$('someDiv').innerHTML = resp.responseText;
  }
);

setTimeout(function() {
  // do something with $('someDiv')
  }
},1000);

Z kodu wynika, iż chciał wykorzystać dane w divie someDiv na podstawie otrzymanej odpowiedzi. Piękne. Ale zapomniał, że AJAX działa asynchronicznie, czyż nie? Więc co by się stało, gdyby odpowiedź przybyła później niż w ciągu 1000ms?

recoveredkodbugrotfljavascriptajax