Ajax. Od podstaw - ebook
Ajax. Od podstaw - ebook
Wprowadzenie do technologii Ajax dla webmasterów
- Jak tworzyć interaktywne aplikacje webowe w technologii Ajax?
- Jak pisać i wykorzystywać wzorce projektowe w Ajaksie?
- Dlaczego warto skorzystać z możliwości Ajaksa?
Choć technologia znana jest od końca ubiegłego wieku, uznanie zdobyła dopiero parę lat temu, kiedy firma Google zaczęła używać jej na większą skalę w swoich projektach. Wtedy webmasterzy odkryli, jaka siła tkwi w połączonych technologiach, kryjących się pod nazwą Ajax. Dołącz do nich i wzbogać swoje strony WWW, co sprawi, że staną się interaktywne bardziej niż kiedykolwiek.
"Ajax. Od podstaw" to książka dla twórców witryn internetowych, którzy chcą poszerzyć swoje umiejętności o niesamowitą technologię Ajax. Chris Ullmann i Lucinda Dykes, autorzy i współautorzy wielu książek o technikach programowania, przekazują tu swoje wieloletnie doświadczenie. Ułatwiają czytelnikowi opanowanie języka, przechodząc od podstawowych do coraz bardziej złożonych przypadków opartych na rzeczywistych przykładach. Narracyjny styl książki sprawia, że jest przyjazna czytelnikowi, a usystematyzowany układ czyni ją przejrzystą.
- Model i składnia aplikacji opartej na technologii Ajax
- Komunikacja z serwerami
- Synchroniczne i asynchroniczne przesyłanie danych
- Usługi sieciowe
- API oraz aplikacje typu MASHUP
- Praca z XML, XSLT oraz XPath
- Integracja z formatem wymiany danych JSON
- Praca z obiektem XMLHttpRequest
- Usuwanie oraz obsługa błędów
- Wzorce projektowe
- Wykorzystanie danych zewnętrznych
- Platformy oraz biblioteki dostępne dla technologii Ajax
- Przewodnik po języku JavaScript
Poznaj nowe sposoby programowania webowego
i wzbogać swoje witryny WWW o technologię Ajax!
Spis treści
O autorach (13)
Wprowadzenie (15)
Rozdział 1. Wprowadzenie do Ajaksa (23)
- Czym jest Ajax? (24)
- Ajax w praktyce (25)
- flickr (25)
- Basecamp (27)
- Amazon (A9.com) (28)
- Google Suggest oraz Google Maps (29)
- Inne strony internetowe (30)
- Złe przykłady (31)
- Ajax - akronim (32)
- XHTML oraz CSS (33)
- DOM (Document Object Model) (34)
- JavaScript (35)
- XML, XSLT oraz XPath (36)
- Obiekt XMLHttpRequest (37)
- Technologie po stronie serwera (39)
- Ajax w praktyce (25)
- Model aplikacji opartej na Ajaksie (39)
- Dlaczego powinno się używać Ajaksa? (41)
- Częściowe uaktualnianie strony (41)
- Niewidoczne pobieranie danych (42)
- Ciągłe uaktualnianie (42)
- Jednolite interfejsy (42)
- Prostota i bogactwo możliwości (42)
- Przeciąganie i upuszczanie (42)
- Kiedy nie należy używać Ajaksa (43)
- Spowolnienie strony (43)
- Zakłócenie działania przycisku Wstecz w przeglądarce (43)
- Zakłócanie działania zakładek oraz blokowanie indeksów wyszukiwarek (44)
- Obciążenie dla przeglądarki (44)
- Kto może bądź nie może używać Ajaksa? (44)
- Dlaczego powinno się używać Ajaksa? (41)
- Stwórz swój własny przykład (45)
- Podsumowanie (55)
- Ćwiczenia (55)
Rozdział 2. Powtórka z JavaScriptu (57)
- Jądro JavaScriptu (58)
- Składnia (58)
- Zmienne (58)
- Podstawowe typy danych (59)
- Referencyjne typy danych (60)
- Operatory (60)
- Operator przypisania (61)
- Operatory arytmetyczne (61)
- Operatory porównania (61)
- Operatory logiczne (62)
- Operatory inkrementacji oraz dekrementacji (63)
- Instrukcje (63)
- Instrukcje warunkowe (64)
- Pętle (65)
- Funkcje (66)
- JavaScript zorientowany obiektowo (67)
- Obiekty wbudowane (68)
- Obiekty przeglądarki (68)
- Obiekty zdefiniowane przez użytkownika (69)
- Konstruktory (70)
- Prototypy (71)
- Niszczenie obiektów (72)
- DOM (Document Object Model) (74)
- Dokument jako drzewo potomków (75)
- Dokument jako drzewo węzłów (75)
- Metody dostępu do obiektów w DOM (76)
- Metoda getElementById (76)
- Metoda getElementsByTagName (77)
- Tworzenie węzłów (78)
- Alternatywne rozwiązanie - innerHTML (80)
- JavaScript oraz zdarzenia (81)
- Modele zdarzeń (82)
- Rejestracja zdarzeń (82)
- Model rejestracji zdarzeń w przeglądarce Internet Explorer (83)
- Model rejestracji zdarzeń w DOM z W3C (84)
- Obiekty zdarzeń (84)
- Podsumowanie (88)
- Ćwiczenia (89)
Rozdział 3. Ajax oraz technologie po stronie serwera (91)
- Ajax oraz technologie po stronie serwera (92)
- Formularze oraz kontrolki HTML (92)
- Model przesyłania formularzy (92)
- Model przesyłania formularzy w Ajaksie oraz JavaScripcie (94)
- Od strony serwera (94)
- Przesyłanie danych do serwera (95)
- Serwer otrzymuje żądanie (95)
- Pisanie odpowiedzi HTTP (96)
- Obiekt XMLHttpRequest (97)
- Funkcja zwrotna (98)
- Właściwość responseText (98)
- Właściwość responseXML (99)
- Usuwanie błędów z responseXML (100)
- Wykorzystywanie danych (101)
- Obiekt XMLHttpRequest (97)
- Technologie po stronie serwera (102)
- ASP.NET (102)
- Przykład wykorzystujący Ajaksa oraz ASP.NET (104)
- PHP (114)
- Przykład wykorzystujący Ajaksa oraz PHP (115)
- Serwlety Javy (120)
- Przykład wykorzystujący Ajaksa oraz serwlety Javy (121)
- ASP.NET (102)
- Którą technologię powinno się wykorzystywać? (125)
- Podsumowanie (126)
- Ćwiczenia (126)
Rozdział 4. Techniki Ajaksa (127)
- Obiekt XMLHttpRequest (128)
- Tworzenie obiektu XMLHttpRequest (129)
- Użycie synchroniczne (129)
- Użycie asynchroniczne (130)
- Właściwość readyState (130)
- Właściwości oraz metody obiektu XMLHttpRequest (131)
- Często popełniane błędy (137)
- Bardziej skomplikowane problemy (138)
- Problem z tym samym pochodzeniem (138)
- Kontrola pamięci podręcznej - agresywna polityka przeglądarki Internet Explorer (139)
- Implikacje działania we wszystkich przeglądarkach (143)
- Metoda POST (144)
- Zalety i wady używania metod POST oraz GET (147)
- Inne techniki Ajaksa (147)
- Ukryte ramki (147)
- Pomysł (148)
- Zalety oraz wady (154)
- Ukryte ramki typu iframe (154)
- Pomysł (155)
- Zalety oraz wady (158)
- Dynamiczne ładowanie skryptu (158)
- Pomysł (158)
- Zalety oraz wady (161)
- Obrazki oraz cookies (161)
- Pomysł (162)
- Zalety oraz wady (166)
- Ukryte ramki (147)
- Podsumowanie (166)
- Ćwiczenie (167)
Rozdział 5. Praca z XML (169)
- Podstawy XML (170)
- Tworzenie znaczników (170)
- Składnia XML (170)
- Dokumenty XML poprawne składniowo oraz strukturalnie (172)
- Ekstrakcja danych za pomocą JavaScriptu (177)
- Wykorzystywanie węzłów (177)
- Dostęp do elementów XML po ich nazwie (179)
- Dostęp do wartości atrybutów (179)
- Wykorzystywanie CSS z danymi XML (183)
- Wykorzystywanie CSS z dokumentami XML (185)
- Wykorzystywanie CSS z Ajaksem (185)
- Właściwość style (185)
- Właściwość className (186)
- Podsumowanie (186)
- Ćwiczenia (187)
Rozdział 6. Usuwanie oraz obsługa błędów (189)
- Obsługa błędów w JavaScripcie (190)
- Obsługa wyjątków (190)
- Program obsługi zdarzeń onerror (192)
- Konsola błędów w przeglądarkach Mozilla (194)
- Microsoft Script Debugger (196)
- Firebug (199)
- Inspektory DOM (202)
- Inspektor DOM z przeglądarki Firefox (202)
- Inspektor DOM w przeglądarce Internet Explorer (204)
- MODI (Mouseover DOM Inspector) (204)
- Rozwiązywanie problemów związanych z Ajaksem (205)
- Wykorzystywanie dodatku Firebug z XMLHttpRequest (206)
- Dodatek Live HTTP Headers (206)
- Podsumowanie (208)
- Ćwiczenia (209)
Rozdział 7. Usługi sieciowe, API oraz aplikacje typu mashup (211)
- Czym jest usługa sieciowa? (212)
- Publiczne usługi sieciowe (213)
- Wykorzystywanie usług sieciowych należących do innych podmiotów (214)
- Struktura usługi sieciowej (216)
- Podejście oparte na REST (217)
- Podejście oparte na SOAP (218)
- Integrowanie usługi sieciowej z własną aplikacją opartą na Ajaksie (219)
- Wykorzystywanie usługi z obiektem XMLHttpRequest (220)
- Polityka tego samego pochodzenia (220)
- Tworzenie proxy dla aplikacji (221)
- Sztuczka ze znacznikiem script (228)
- Przyszłe alternatywy (231)
- Wykorzystywanie usługi z obiektem XMLHttpRequest (220)
- Wykorzystywanie API (232)
- Różnica między usługami sieciowymi a API (233)
- Google Maps API (234)
- Klucz Google Maps API (234)
- Obiekt mapy (234)
- Obiekt Geocode (235)
- Metoda fabrykująca XMLHttpRequest (236)
- Aplikacje typu mashup (244)
- W jaki sposób Ajax ułatwia wykorzystywanie aplikacji typu mashup (245)
- Wykorzystywanie Flickr API (246)
- Etykietki (lista ważona) (246)
- Wykorzystywanie klucza Flickr API (247)
- Tworzenie przykładowej aplikacji (247)
- Dodawanie informacji o miejscu zrobienia zdjęcia w serwisie Flickr (248)
- Wyświetlanie zdjęć z Flickr (257)
- Podsumowanie (261)
- Ćwiczenia (262)
Rozdział 8. XSLT oraz XPath (263)
- XSLT oraz jego cel (264)
- Elementy XSLT (266)
- Element xsl:stylesheet (266)
- Element xsl:output (267)
- Element xsl:include (268)
- Elementy xsl:template, xsl:apply-templates oraz xsl:call-template (268)
- Atrybut match (268)
- Atrybut name (269)
- Parametry XSLT (270)
- Element xsl:if (270)
- Elementy xsl:choose, xsl:when oraz xsl:otherwise (270)
- Znoszenie znaczenia specjalnego znaków w XSLT (271)
- Element xsl:for-each (272)
- Element xsl:value-of (272)
- Element xsl:sort (273)
- Element xsl:variable (273)
- Obsługa XSLT w najważniejszych przeglądarkach (274)
- Wykonywanie transformacji (274)
- Wykonywanie transformacji w przeglądarce Internet Explorer (274)
- Wykonywanie transformacji w przeglądarce Firefox (279)
- Wykonywanie transformacji po stronie serwera (281)
- Tworzenie arkusza stylów XSLT dla koszyka z zakupami (284)
- XPath oraz jego cel (294)
- Podstawowe możliwości XPath (294)
- Wyrażenia XPath (295)
- Kontekst bieżący (295)
- Węzeł główny dokumentu (296)
- Element główny dokumentu (296)
- Rekurencyjne schodzenie w dół drzewa (296)
- Określone elementy (297)
- Funkcje XPath (297)
- Funkcja number (297)
- Funkcja position (298)
- Funkcja count (298)
- Formatowanie łańcuchów znaków (298)
- Funkcje arytmetyczne (299)
- Funkcje logiczne (299)
- Wyrażenia XPath (295)
- Wykonywanie zapytań w dokumentach XML za pomocą XPath (300)
- Ulepszenie przykładu z koszykiem z zakupami, tak by używał on XSLT oraz Ajaksa (305)
- Podsumowanie (313)
- Ćwiczenia (314)
Rozdział 9. Wzorce (315)
- Podstawy wzorców projektowych (316)
- Sprawdzanie poprawności formularzy (317)
- Problem (317)
- Wzorzec (317)
- Dodatkowe informacje we wzorcach związanych z najeżdżaniem myszą na element (325)
- Problem (325)
- Wzorzec (326)
- Wzorzec odpytywania serwera (333)
- Problem (333)
- Wzorzec (333)
- Wzorzec służący do tworzenia list opartych na przeciąganiu oraz upuszczaniu (343)
- Problem (343)
- Wzorzec (343)
- Wzorzec obsługi błędów (357)
- Problem (358)
- Wzorzec (358)
- Podsumowanie (364)
- Ćwiczenia (365)
Rozdział 10. Praca z danymi zewnętrznymi (367)
- Praca z kanałami informacyjnymi XML (368)
- RSS 0.9x (370)
- RSS 2.0 (371)
- RSS 1.0 (373)
- Atom (374)
- Ekstrakcja danych z kanału informacyjnego XML (376)
- Ekstrakcja danych w postaci XML (376)
- Ekstrakcja danych w postaci łańcucha znaków (383)
- Budowanie czytnika kanałów online opartego na Ajaksie (385)
- Podsumowanie (396)
- Ćwiczenia (396)
Rozdział 11. JSON (397)
- Składnia JSON (398)
- Typy danych JSON (398)
- Literały obiektów (399)
- Literały tablic (400)
- Wykorzystywanie analizatora składniowego JSON (400)
- Formaty transmisji danych (401)
- Ajax oraz JSON (403)
- Tworzenie żądania (403)
- Analiza składniowa odpowiedzi (405)
- Wykorzystywanie metody eval() (405)
- Wykorzystywanie parseJSON() (406)
- Dodawanie danych JSON do strony internetowej (406)
- Wykorzystywanie JSON z PHP (410)
- Podsumowanie (412)
- Ćwiczenia (412)
Rozdział 12. Zaawansowany przykład - lista sortowana (413)
- Wykorzystywanie MySQL (414)
- Tworzenie tabeli MySQL (414)
- Dodawanie danych do tabeli (416)
- Tworzenie połączenia z bazą danych (417)
- Tworzenie zapytań do bazy danych (418)
- Uzyskanie aktualnych wartości pól (419)
- Porządkowanie listy w kolejności (419)
- Edycja rekordów bazy danych (421)
- Wstawianie rekordu (421)
- Usuwanie rekordu (423)
- Wykorzystywanie biblioteki Scriptaculous w przeciąganiu oraz upuszczaniu (424)
- Tworzenie elementu typu Droppable (424)
- Tworzenie elementu typu Sortable (426)
- Interakcja z użytkownikiem - strona główna (427)
- Wykorzystywanie Ajaksa do uaktualniania listy (431)
- Tworzenie żądań POST (432)
- Tworzenie żądań GET (434)
- Przetwarzanie wyników (435)
- Dodawanie stylu (437)
- Pliki (437)
- Podsumowanie (438)
Dodatek A Rozwiązania ćwiczeń (439)
Dodatek B Istniejące zasoby Ajaksa - platformy oraz biblioteki (461)
Dodatek C Istniejące zasoby JavaScriptu (471)
Dodatek D Przewodnik po języku JavaScript (475)
Skorowidz (523)
Kategoria: | Webmaster |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-8458-8 |
Rozmiar pliku: | 6,1 MB |