Blog webdeveloperski Patryk yarpo Jar

[jQuery] Różne kodowanie strony i wyniku Ajax

Autor wiadomości Maj 23, 2011

W jednym z wcześniejszych wpisów opisałem, w jaki sposób naprawić problem z różnymi kodowaniami znaków na stronie wykorzystującej Ajax oraz zasób, do którego się odwołujemy na serwerze.

W tym artykule pokażę, jak to zrobić wykorzystując jQuery.

Na początek

Zmiana kodowania znaków w Ajax

Autor wiadomości Maj 20, 2011

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.

Ajax z proxy na cURL

Autor wiadomości Maj 7, 2011

Ajax oparty o obiekt `XMLHttpRequest' nie pozwala na odczytywanie danych ze zdalnego serwera (choć można to ominąć). Istnieje jednak możliwość stworzenia odpowiedniego skryptu PHP, przekierowującego nasz request, odbierającego dane ze zdalnego serwera i przekazanie go skryptowi JavaScript.

Tagged as: , , , , , Czytaj dalej

JSON with Padding – czyli zdalny Ajax

Autor wiadomości Maj 7, 2011

Istnieje kilka sposobów na pobieranie danych ze zdalnego serwera. Ajax sam w sobie nie pozwala na to, chyba że stosując odpowiednie nagłówki i metodę GET.

W tym wpisie przedstawię kolejną technikę - JSON with Padding. Jest to wzorzec wykorzystania lekkiego formatu wymiany danych zgodnego z JavaScript - JSON.

Tagged as: , , , Czytaj dalej

Ajax z Access-Control-Allow-Origin

Autor wiadomości Maj 6, 2011

Choć Ajax w "czystej postaci" nie pozwala na odwoływanie się do zdalnych zasobów (podany adres musi należeć do tej samej domeny, co strona, na którym odpalany jest skrypt). Można jednak to obejść, stosując po stronie serwera odpowiedni nagłówek (`Access-Control-Allow-Origin'). Poniższy kod na pewno działa w FF. Nie testowałem w innych przeglądarkach.

Odczytywanie danych ze zdalnego serwera

Autor wiadomości Maj 6, 2011

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ę 🙂

[JavaScript] Pseudo MVC na jQuery

Autor wiadomości Maj 5, 2011

Kod HTML coraz częściej naszpikowany jest wieloma artybutami pomocnymi przy wdrażaniu kodu JS do projektu. Czy nie da się z tym czegoś zrobić? Dodatkowo bardzo często kod JS jest "brudny" przez mieszanie wartw: danych, prezentacji i logiki. W małym projekcie to znośne, ale w dużych zaczyna być nie do ogarnięcia. Spróbuję pokazać co można zmienić w tej kwestii.

Strona "spaghetti"

Dawniej stosowało się określenia "spaghetti HTML", mając na myśli kod HTML naszpikowany atrybutami nadającym stronie wygląd. Aby temu zapobiegać zaczęto stosować CSS. W przypadku JS także można zostawić kod HTML czystym od wszelkim artybutów "zdarzeniowych" (`onclick', `onmouseover' itp.). Najpierw kod, gdzie tego nie zrobię i atrybuty będą zaszyte w kodzie HTML:

Tagged as: , , Czytaj dalej

AJAH – Ajax z HTML

Autor wiadomości Maj 5, 2011

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

Tagged as: , , , Czytaj dalej