Cross Domain AJAX
Zdarzyło mi się, że potrzebowałem AJAX, gdzie serwer dostarczający dane będzie innym serwerem niż ten, z którego ładowana jest strona internetowa. Model DOM przeglądarek internetowych, w tym obiekt XMLHttpRequest będący podstawą wielu implementacji AJAX, ma zabronione operowanie na danych pobieranych z różnych domen (z różnych serwerów WWW). Na szczęście, miksowanie danych z pobieranych z różnych serwerów WWW jest możliwe – przykładem jest Google AJAX Search Api. Dane z różnych serwerów WWW można miksować, każąc przeglądarce WWW wykonać nowy skrypt JavaScript, np.:
document.write. Ja potrzebowałem trochę bardziej zaawansowanego rozwiązania, które umożliwiło by mi między innymi.:- Wykonanie procedury po zakończeniu pobierania
- Grupowanie pobieranych skryptów i wykonaniu procedury po zakończeniu pobierania .
- No i oczywiście pracę z różnymi domenami WWW
Categories: AJAX, JavaScript
Ja uzywam CURL’a lub jezeli szczodrosc adminow jest tak wielka ze CURL’a sie boja, to uzywam iframe’ow. Hula ze az milo.
Ale to nie o to chodzi. Czasami trzeba napisać skrypt, udostępniający pewną funkcjonalność Twojej strony – innym stronom WWW. Wtedy najlepiej jest zrobić to tak, żeby po stronie klienta było jak naj mniej kodu. Curl, jest trudniejszy od HTML’a i JavaScriptu. IFrame nie pozowli na pełne dostosowanie usługi u klienta. Dlatego Cross Domain Javascript – najprostszy jest oczywiście JSON.
Cała idea Ajax’a zawiera się w asynchronicznym działaniu. A Ty piszesz skrypt, który działa synchronicznie i nazywasz to ajax’em :)
Nie. Skrypt działa asynchronicznie. Po wysłaniu rządania sterowanie wraca i skrypt wykonuje się asynchronicznie.