Ajax. Od podstaw
Chris Ullman, Lucinda Dykes
Cena detaliczna: 77,00 zł
Twoja cena: 69,30 zł
Wydawnictwo: Helion
Oprawa: twarda
Numer katalogowy: 145945
Dostępność: 2 - 4 dni
Poleć znajomym:










Ajax. Od podstaw - opis
Wprowadzenie do technologii Ajax dla webmasterów
i wzbogać swoje witryny WWW o technologię Ajax!
- Jak tworzyć interaktywne aplikacje webowe w technologii Ajax?
- Jak pisać i wykorzystywać wzorce projektowe w Ajaksie?
- Dlaczego warto skorzystać z możliwości Ajaksa?
- 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
i wzbogać swoje witryny WWW o technologię Ajax!
Ajax. Od podstaw - spis treści
O autorach (13)
Wprowadzenie (15)
Rozdział 1. Wprowadzenie do Ajaksa (23)
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)
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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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 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)



