Ajax w oparciu o pływającą ramkę

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.

Czytaj dalej Ajax w oparciu o pływającą ramkę

Wygodny obiekt dla Ajax

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.

Czytaj dalej Wygodny obiekt dla Ajax

[Ajax] Obiekt XMLHttpRequest

Poniższy artykuł będzie o wykorzystaniu obiektu XMLHttpRequest do wysyłania asynchronicznych żądań ze strony www do serwera.

Jeśli nie wiesz, czym jest Ajax, warto przeczytać:

Co na początek?

Aby móc uruchomić przykłady zawarte w tym artykule potrzebujesz:

  • serwera www [np. Wamp]
  • przeglądarki www [np. Firefox]
  • przydatny może być edytor [np. Geany]
  • około 10 minut

Czytaj dalej [Ajax] Obiekt XMLHttpRequest

Ajax – czym jest? Jak działa? Po co?

AJAX (ang. Asynchronous JavaScript and XML, asynchroniczny JavaScript i XML) – technologia tworzenia aplikacji internetowych, w której interakcja użytkownika z serwerem odbywa się bez przeładowywania całego dokumentu, w sposób asynchroniczny [wikipedia].

Zatem nie jest to jakaś magia, słowo otwierające wszystkie drzwi i rozwiązujące wszystkie problemy. Źle zaprojektowana i słaba strona z samego faktu wykorzystywania Ajaksa nie staje się lepsza. Czytaj dalej Ajax – czym jest? Jak działa? Po co?

JSON – format wymiany danych

JSON jest lekkim formatem wymiany danych opartym o literał obiektowy. Nie jest to zatem nowa technologia czy nowy język co inne spojrzenie na to co już istniało. Być może nawet samo odkodowanie tego skrótu da już nam dużo więcej informacji: „Java Script Object Notation”, czyli „Obiektowa notacja Javascript”. JSON jest podzbiorem JavaScript. Zatem każdy kod JSON musi być poprawnym kodem JS (każdy JSON jest poprawnym literałem obiektowym, ale nie każdy literał obiektowy jest poprawnym JSON).

Literał obiektowy, na ktorym bazuje format JSON może być wykorzystany np. do tworzenia obiektów. JSON służy do wymiany danych, zastępując z sukcesem na tym polu XML.

Czytaj dalej JSON – format wymiany danych

Ajax – kompendium wiedzy

AJAX – czyli Asynchroniczny Javascript i Xml jest nowoczesną [? ma już ponad 5 lat, a pewne techniki były możliwe od kilkunastu lat] popularną technologią [przecież Javascript to Javascript, a Xml to Xml. Gdzie tu nowa technologia?] popularnym rozwiązaniem wykorzystującym potencjał drzemiący w Javascript.

Zbiór technologii, czy osobna technologia?

Będę się jednak upierał, że zbiór technologii, które już istniały. Po prostu odpowiednie wykorzystanie tego, co już wcześniej było dostępne, ładnie nazwane. O ile łatwiej jest sprzedać „Ajax Chat” niż „Chat wykorzystujący asynchroniczne żądania wysyłany przy pomocy obiektu XMLHttpRequest/pływającej ramki”. Często Ajax jest dużo szerszym pojęciem, zahaczającym wręcz o DHTML. Ostatnia litera skrótu – X, oznacza XML, który wcale nie musi być wykorzystywany. Równie dobrze [a może nawet lepiej] operować na JSON, a z pewnością prościej [bardziej prostacko?] na czystym tekście.

Czytaj dalej Ajax – kompendium wiedzy

[JS] print_r w Javascript

Nie wyobrażam sobie programowania w PHP bez funkcji print_r(). Zawsze doskwierał mi jej brak w JS…

Ale, przecież zawsze można napisać to samemu 🙂

[javascript]function print_r(o)
{
    function f(o, p, s)
    {
        for(x in o)
        {
            if ('object' == typeof o[x])
            {
                s += p + x + ' obiekt: \n';
                pre = p + '\t';
                s = f(o[x], pre, s);
            }
            else
            {
                s += p + x + ' : ' + o[x] + '\n';
            }
        }
        return s;
    }
    return f(o, '', '');
}[/javascript]

Czytaj dalej [JS] print_r w Javascript

[JS] Zaokrąglanie liczb z zadaną dokładnością

Jeśli chcemy w JS sprowadzić liczbę z częścią ułamkową do liczby całkowitej możemy wykorzystać metodę Math.round(liczba).

Metoda ta przyjmuje jeden parametr, jest to liczba, która zostanie zaokrąglona wg prawideł matematycznych. Co jednak kiedy chcemy uzyskać zadaną liczbę miejsc po przecinku?

Nie ma wprost metody zaokraglanie(liczba, doMiejscPoPrzecinku). Można jednak łatwo napisać funkcję, która to dla nas zrobi: Czytaj dalej [JS] Zaokrąglanie liczb z zadaną dokładnością