Ajax odczytuje dane z serwera. Dane te są przesyłane jako ciąg znaków (czy też XML, który ostatecznie też jest ciągiem znaków). Znaki są w komputerze reprezentowane przez liczby. Podstawowy zestaw znaków (alfabet angielski, cyfry, znaki specjalne) są zakodowane wg (chyba) ogólnie uznawanego standardu ASCII. Jest to 7-mio bitowy kod, przyporządkowujący liczby z zakresu <0, 127> literom (alfabetu angielskiego), cyfrom, znakom przestankowym i innym symbolom oraz poleceniom sterującym. Przykładowo znak cyfry “1” ma wartość 49, “2” ma wartość 50, itd. Litery (wielkie) zaczynają się od “A” – liczba 65, konsekwentnie “B” = 66, …, “Z” = 90, “a” = 97. Stąd właśnie różnica dla komputera między “a” oraz “A”. Problem z kodowaniem pojawia się dla nietypowych znaków, np. “ą”, “Ś”, “ź”, itp. znaków diakrytycznych.

Poniższy artykuł będzie o tym, jak obejść problem z różnym kodowaniem liter w przypadku odczytywania danych z serwera za pomocą Ajaksa.

Continue reading

Ostatnio zainteresowałem się ideą odczytywania danych ze zdalnych serwerów z poziomu JavaScript. Jak do tej pory znalazłem kilka technik pozwalających na to. Sukcesywnie będę dodawał kolejne metody, jeśli takowe znajdę 🙂

Techniki:

Gdyby ktoś znał jeszcze inne techniki będę wdzięczny za informację 🙂

Wysyłając żądanie do serwera za pomocą Ajaksa oczekujemy jakiejś odpowiedzi zwrotnej. Najprościej użyć czystego tekstu. Jeśli jednak mamy już używać czystego tekstu, dlaczego nie używać od razu fragmentu kodu HTML?

Technikę taką będę konsekwentnie nazywał AJAH (Asynchroniczny JavaScript i HTML). Choć jest to skrót wprowadzony przeze mnie – jak się okazało niepotrzebnie. Istniało wcześniej określenie “Asynchroniczny HTML i HTTP”. Dziękuję użytkownikowi o nicku “ja” za celną uwagę w komentarzu :).

Na początek

Na potrzeby tego artykułu potrzebujesz:

  • serwera WWW (może być WAMP)
  • przeglądarki
  • 5 minut

Continue reading

Ajax w szerszym znaczeniu oznacza komunikację z serwerem [wymianę danych z serwerem] bez konieczności przeładowania strony. Często mówiąc Ajax ma się na myśli także DHTML.

Nie o tym jednak będzie ten artykuł. Mam zamiar pokazać jak w łatwy sposób korzystać z dobrodziejstw Ajaksa bez jednego z filarów – obiektu XMLHttpRequest. Zastąpimy go pływającą ramką, a ramkę tę obudujemy w obiekt XMLHttpIframeRequest, który ma identyczny interfejs z natywnym ajaksowym obiektem.

Continue reading

Jak pewnie zdążyłeś zauważyć, często dążę do sytuacji, w której operuję na interfejsie obiektu, a nie polegam na implementacji.

Przykładowo, dużo bardziej podoba mi się podejście do Ajaksa w jQuery, niż z wykorzystaniem natywnego kodu JS.

Jednak czy `jQuery.ajax’ rozwiązuje wszystkie nasze problemy? Uważam, że nie. Jesteśmy świadkami wojny między różnymi frameworkami. Być może za 2-3 lata nikt nie będzie używać jQuery – a może nikt nie będzie używać niczego innego :). Dzisiaj trudno to określić. Natomiast wiadomo jedno – strony, które tworzysz, zawsze mają być dobre i działać należycie. Ubierzmy zatem już naprawdę przyjemne `jQuery.ajax’ w coś jeszcze bardziej abstrakcyjnego. Abstrakcja ta pozwala na późniejsze ograniczenie rozmiarów zmian w kodzie.

Continue reading