AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

Podobne dokumenty
Paweł Rajba,

Podstawy programowania w języku JavaScript

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Pogadanka o czymś, co niektórzy nazywają AJAX

Dokumentacja końcowa projektu z ZPR

Podstawy technologii WWW

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: Wersja: 1.

OpenLaszlo. OpenLaszlo

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Aplikacje WWW. Możliwość wykorzystania elementów interfejsu użytkownika znanych z aplikacji Windows tj. wskaźniki postępu.

Zaawansowane aplikacje internetowe AJAX. Wykład prowadzi: Marek Wojciechowski AJAX

Ajax. 1. Wprowadzenie. 2. Aplikacja serwerowa

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Zaawansowane Techniki WWW (HTML, CSS i NODE.JS)

I Podstawy Wprowadzenie do technologii Ajax Żądanie Odpowiedź XML 31 JSON 39

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

Server setup. #include <SPI.h> #include <Ethernet.h> boolean incoming = 0;

ANIMACJE W CSS3. Czyli po co płacić podatek o Javy Script i JQuery

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II

JavaScript i jquery : nieoficjalny podręcznik / David Sawyer McFarland. Rozdział 1. Pierwszy program w języku JavaScript 35

Aplikacje Internetowe

Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

DOM SAX AJAX. SAX,DOMiAJAX. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 11 kwietnia 2010

Popularne dostępne rozwiązania. Najpopularniejsze środowiska programistyczne:

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

PHP: bloki kodu, tablice, obiekty i formularze

Zmienne i stałe w PHP

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Zrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień Uniwersytet Warszawski

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Zajęcia 4 - Wprowadzenie do Javascript

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Spis wzorców. Działania użytkownika Strona 147 Obsługa większości Działań użytkownika za pomocą kodu JavaScript przy użyciu metod obsługi zdarzeń.

Praktyczne zastosowanie technologii AJAX do tworzenia stron WWW. Sylwia Binek, Agata Nawrocka, Marek Mędrek

Aplikacje WWW - laboratorium

Katalog książek cz. 3: Web Service

Laboratorium 1 Wprowadzenie do PHP

JQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...

Dokumentacja serwera REST do obsługi rezerwacji w systemie SaNAtoRIUm.pro

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2013/2014

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Wybrane działy Informatyki Stosowanej

6. Bezpieczeństwo przy współpracy z bazami danych

Pomoc dla systemu WordPress

Aplikacje Internetowe

Jak okiełznać frontend w Django? Piotr Maliński

Jak ustawić cele kampanii?

Dokumentacja smsapi wersja 1.4

Instrukcja konfiguracji usługi DDNS na dedykowanym serwerze dla urządzeń Internec serii i7

Szczegółowy opis zamówienia:

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

Aplikacje WWW i PHP - opis przedmiotu

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Funkcje i instrukcje języka JavaScript

Odseparowanie kodu PHP i warstwy prezentacji od dawna było celem

LeftHand Sp. z o. o.

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Webowy generator wykresów wykorzystujący program gnuplot

Terytorialna analiza danych

Wykład 03 JavaScript. Michał Drabik

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP

SMS Kod Automatyczny

W kolejnym etapie wypełniamy wszystkie pola formularza (rys. 3) potrzebne do utworzenia konta pocztowego

Połączenie Partnera z serwisem JustPay poprzez - METODĘ 2

Przewodnik Google Cloud Print

Sesje i logowanie. 1. Wprowadzenie

Tworzenie i wykorzystanie usług sieciowych

Tworzenie Stron Internetowych. odcinek 10

Tworzenie aplikacji 18 Uruchamianie przykładu 24. Budowanie i instalowanie aplikacji Ajax 27 Uruchamianie przykładu 29

Spis treści CZĘŚĆ I JĘZYK SIECI 17. Wstęp 13. Rozdział 1 Wprowadzenie do HTML5 19. Rozdział 2 Znajomość znaczników HTML5 37

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Wykorzystywanie plików cookies

Ajax. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji

Wybrane działy Informatyki Stosowanej

Zdarzenia Zdarzenia onload i onunload

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

W3 Total Cache. Skuteczne przyśpieszanie WordPressa. Bartosz Romanowski

Aplikacje webowe z wykorzystaniem Node.js oraz Express

PRZEWODNIK PO PRZEDMIOCIE

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

Dokumentacja Użytkownika Systemu. Integracja z Okazje.info, Skąpiec, Sklepy24

Transkrypt:

AJAX Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

Czym jest AJAX? AJAX (Asynchronous JavaScript And XML) nie jest nową technologią, ale nowym sposobem wykorzystania kombinacji istniejących technologii takich jak m.in. JavaScript, DOM i CSS, które w ostatnich latach osiągnęły dojrzałość i uzyskały powszechne wsparcie w przeglądarkach. Pobieranie danych odbywa się w tym wypadku bez konieczności odświeżenia całej strony w przeglądarce, a pobierane dane są najczęściej generowane przez skrypt lub aplikację innego typu po stronie serwera. Bez wątpienia AJAX stanowi rewolucję w sposobie myślenia o tworzeniu aplikacji internetowych, pozwalając na uzyskanie stopnia interaktywności zarezerwowanego dotychczas dla aplikacji desktopowych. Model połączenia asynchronicznego w przypadku Ajaxa wygląda inaczej niż w przypadku standardowego zestawienia. Poniżej został zamieszczony schemat działania dla obydwóch przypadków:

Rys. 1. Model połączenia synchronicznego i a synchronicznego. XMLHttpRequest asynchroniczna komunikacja z serwerem XMLHttpRequest służy do obsługi żądań HTTP wysyłanych przez kod JavaScript asynchronicznie do serwera. Wbrew nazwie, obiekt XMLHttpRequest umożliwia pobieranie z serwera danych w innych formatach niż XML (np. JSON lub czysty tekst). Obiekt XMLHttpRequest jest obecnie zalecanym sposobem asynchronicznej komunikacji z serwerem, ale należy zwrócić uwagę, że podobną funkcjonalność można osiągnąć w oparciu o zagnieżdżone ramki <iframe>. Poniżej zamieszczono sposób tworzenia z omówieniem obiektu XMLHttpRequest dla wszystkich przeglądarek (został on także dołączony jako plik wstep.js ): // tworzenie obiektu XMLHttpRequest //uzycie w przegladarkach innych niz IE if(window.xmlhttprequest) ajax = new XMLHttpRequest();

//IE else if(window.activexobject) ajax = new ActiveXObject("Miscrosoft.XMLHTTP"); //inicjalizaja. Pierwszy parametr metody 'open' to metoda zadania (GET, POST), //drugi parametr jest adresem do skryptu, ktore zadanie bedzie przetwarzal ajax.open("get", "zrodlo"); ajax.send(null); //na zmiane stanu obiektu wywolaj ponizsza funkcje ajax.onreadychangestate = function() //sprawdzenie czy obiekt ajax zakonczyl sciagane dokumentu if(ajax.readystate == 4) ajax.responsetext //odpowiedz z serwera przechowywana jest w tej zmiennej wlasciwosc readystate: 0 - niezainicjowany, 1 - ładowanie, 2 - załadowany, 3 - interakcja z dokumentem, 4 - zakończono. Przykłady wykorzystania AJAXa. Najważniejsze z punktu omawianego tematu są pliki script.js gdyż to one właśnie zawierają engine AJAX. Dlatego w głównej mierze one zostały opisane w kodzie bardziej szczegółowo. Przykład 1 (katalog ex 1). Bardzo prosty formularz do rejestracji użytkowników. Kiedy użytkownik wprowadzi login, który chce zarejestrować i opuści to pole automatycznie jest wywoływane sprawdzenie z użyciem AJAXa czy dany login nie jest już zajęty.

Na zdarzenie OnBlur przez JS jest wywoływana funkcja wywołująca asynchroniczne żądanie sprawdzające czy dany login jest wolny. Dokładny opis znajduje się w kodzie przykładu. Przykład 2 (katalog ex 2). Przykład pokazujący autouzupełnianie. Po wprowadzeniu pewnej liczby znaków system stara się podpowiadać jakie mogą być rozwinięcia dla wprowadzonych znaków. W tym przypadku mamy pole w którym wpisujemy email. Po wpisaniu jednego znaku system pobiera z bazy danych (przykładowo naszej książki adresowej) wszystkie maile, które się zaczynają od wprowadzonego/wprowadzonych znaku/znaków. W miarę jak wpisujemy kolejne znaki system oczywiście uaktualnia podpowiedzi. Na zdarzenie OnBlur przez JS jest wywoływana funkcja wywołująca asynchroniczne żądanie sprawdzające czy dany login jest wolny. Dokładny opis znajduje się w kodzie przykładu. jquery a AJAX. Poniżej zamieszczono wykaz większości funkcji implementujących AJAX, które są wykorzystywane w bibliotece JS jquery. Ich dokładny opis znajdziemy na stronie http://docs.jquery.com/ajax. jquery.ajax( options ) jquery.get( url, [data], [callback], [type] ) jquery.post( url, [data], [callback], [type] ) load( url, [data], [callback] ) jquery.getscript( url, [callback] ) jquery.getjson( url, [data], [callback] )

Przykłady wykorzystania AJAXa w sieci WWW

Inne przykłady wykorzystania AJAXa Gmail - http://gmail.google.com Microsoft wirtualna mapa Ziemi - http://virtualearth.msn.com Yahoo - serwis wymiany zdjęć Flickr - http://www.flickr.com AJAX - podsumowanie Zalety: interaktywane, przyjazne dla użytkownika aplikacje, nie są wymagane żadne wtyczki, redukuje ruch w sieci i zmiejsza obciążenie serwera, oparty o znane i dojrzałe technologie, Wady: konieczność włączenia JS, wrażliwość na opóźnienia w komunikacji sieciowej, nieco utrudnione testowanie i debugowanie.