Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 10

Podobne dokumenty
TECHNOLOGIE SIECI WEB

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

Podstawy programowania w języku JavaScript

Bazy Danych i Usługi Sieciowe

Paweł Rajba,

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

PHP: bazy danych, SQL, AJAX i JSON

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

Szczegółowy opis zamówienia:

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Bazy Danych i Usługi Sieciowe

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

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1

Zaawansowane aplikacje internetowe

Spis treści. Wstęp 5 Rozdział 1. Praca z AJAX-em 9. Rozdział 2. Współpraca ze skryptami PHP 55. Rozdział 3. Obsługa formularzy 81

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

Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter

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

OpenLaszlo. OpenLaszlo

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Wykład 5: PHP: praca z bazą danych MySQL

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

Wykład 03 JavaScript. Michał Drabik

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

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

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

Tworzenie Stron Internetowych. odcinek 10

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

XML extensible Markup Language. część 5

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

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

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

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

Aplikacje WWW - laboratorium

Programowanie Komponentowe WebAPI

plansoft.org Zmiany w Plansoft.org

Dokumentacja techniczna API systemu SimPay.pl

Programowanie i projektowanie obiektowe

Wybrane działy Informatyki Stosowanej

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

PHP: bloki kodu, tablice, obiekty i formularze

Rys.2.1. Drzewo modelu DOM [1]

Internetowe bazy danych

Funkcje i instrukcje języka JavaScript

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Wybrane działy Informatyki Stosowanej

Autor: Joanna Karwowska

PRZEWODNIK PO PRZEDMIOCIE

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Bazy danych. dr Radosław Matusik. radmat

Aplikacje WWW - laboratorium

Wybrane działy Informatyki Stosowanej

Referat Pracy Dyplomowej

REACT NATIVE. Anna Maziejuk Kamil Jankowski

Aplikacje WWW - laboratorium

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

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

Aktualizacja SMSFall v Data publikacji:

Podstawy programowania III WYKŁAD 2

Webowy generator wykresów wykorzystujący program gnuplot

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

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

Budowa nowoczesnej aplikacji SPA z wykorzystaniem biblioteki Ember.js

Podstawy JavaScript ćwiczenia

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

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

Bazy danych i strony WWW

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Języki programowania wysokiego poziomu WWW

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

Aplikacje WWW - laboratorium

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

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ń.

Specyfikacja implementacyjna aplikacji serwerowej

SIECI KOMPUTEROWE I BAZY DANYCH

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Techniki WWW. (HTML, CSS, JavaScript) Dr inż. Marcin Zieliński WYKŁAD 7. Środa 15:30-17:00 sala: A-1-04

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

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

Programowanie w Internecie

HttpRequest Aplikacja Czat

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

Podstawowe wykorzystanie Hibernate

Programowanie internetowe

O stronach www, html itp..

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

Podstawy programowania w języku JavaScript

Umieszczanie kodu. kod skryptu

REFERAT O PRACY DYPLOMOWEJ

Podstawy technologii WWW

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Transkrypt:

Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 10 T. Romańczukiewicz Jagiellonian University 2009/2010

Plan Plan 1 AJAX 2 Podsumowanie

Plan AJAX Podsumowanie Przypomnienie AJAX - wstęp Prykłady AJAX i JSON Frameworki 1 AJAX Przypomnienie AJAX - wstęp Prykłady AJAX i JSON Frameworki 2 Podsumowanie

XML, poprawnie sformuowanie Sposoby opisu XML DTD XML Schema XPATH Sposoby prezentacji CSS XSLT DOM SAX JAXB Serwlety JSP AJAX

AJAX AJAX Podsumowanie Przypomnienie AJAX - wstęp Prykłady AJAX i JSON Frameworki AJAX - Asynchronous JavaScript and XML, asynchroniczny JavaScript i XML Wspólna nazwa kilku istniejacych już wcześniej narzędzi takich jak JavaScript, DOM, CSS, XML itp Technika tworzenia interaktywnych aplikacji, w dużym stopniu polegajacych na kodzie JavaScript po stronie klienta Realizuje asynchroniczne odwołania do serwera Pobieranie danych z serwera odbywa się bez konieczności odświeżenia całej strony w przegladarce Dane sa najczęściej generowane przez skrypt lub aplikację innego typu po stronie serwera. Oferuje poziom interaktywności zbliżony do aplikacji desktopowych (GoogleMaps, GoogleDocuments, GoogleSuggest, Google*) W klasycznym modelu stron WWW: Serwer nie zauważał żadnej aktywności użytkownika wprowadzajacego dane np do formularza, aż do momentu zatwierdzenia całego formularza. Nowa strona generowana na serwerze była w całości przesyłana do użytkownika Niepotrzebne wydłużanie procedury i obciażanie łacza Klasyczy model dobry do prezentowania statycznych danych

Model AJAX Przegladarka uruchamia aplikację a nie tylko prezentuje strony Logika aplikacji zaimplementowana jest w języku JavaScript (AJAX engine) Dane po pobraniu z serwera sa zapisywane w przegladarce jedynie w miejscu, gdzie doszło do zmiany Dokument modyfikowany jest poprzez interfejs DOM z poziomu JavaScript Elementy składowe AJAX JavaScript (X)HTML + CSS, najlepiej dobrze sformułowany XML - podstawowy format danych pobieranych przez aplikację JavaScript Uwaga: stosuje się też częśto dane czysto tekstowe oraz dane w formacie JSON (JavaScript Object Notation) Obiekt XMLHttpRequest - służy on do obsługi żadań HTTP wysyłanych przez kod JavaScript asynchronicznie do serwera umożliwia również pobieranie z serwera danych w innych formatach niż XML (np. JSON lub czysty tekst)

Przegladarka tworzy obiekt XMLHttpRequest z żadaniem (Wszędzie tak samo z wyjatkiem M$ IE 5 i 6) Obiekt XMLHttpRequest wysyłany jest do serwera Serwer przetwarza żadanie i tworzy odpowiedź Odpowiedź wysyłana jest do przegladarki Przegladarka przetwarza odpowiedź i uaktualnia stronę

Tworzenie XMLHttpRequest W większości przegladarek (IE7+, Opera, Chrome, FF) obiekt XMLHttpRequest tworzony jest przypomocy xmlhttp=new XMLHttpRequest();. Starsze przegladarki (IE5 i IE6) korzystaja z xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); Można łatwo napisać ogólny kod: Listing 1: XMLHttpRequest 1 if (window.xmlhttprequest) 2 { / / code f o r IE7 +, F i r e f o x, Chrome, Opera, S a f a r i 3 xmlhttp=new XMLHttpRequest(); 4 } 5 else 6 { / / code for IE6, IE5 7 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 8 } Alternatywnie używa się również konstrukcji try-catch. W zasadzie jest to jedyny fragment kodu, który zależy od przegladarki.

Aby wysłać żadanie do serwera korzysta się z metod open(method,url,async), gdzie method: typ żadania: GET lub POST url: lokalizacja pliku na serwerze async: true (asynchronous) lub false (synchronous) send(string) wysyła żadanie do serwera. Dla metody GET brak argumentu.

Przykady wysyłania żadania: 1 xmlhttp.open("get","demo_get.asp",true); / / n a j p r o s t s z e 2 xmlhttp.open("get","demo_get.asp?t=" + Math.random(),true); / / unikalne URL brak cachowania 3 xmlhttp.open("get","demo_get2.asp?fname=henry&lname=ford",true); / / dodatkowe i n f o r m a c j e 4 xmlhttp.send(); 5 6 (...) 7 8 xmlhttp.open("post","ajax_test.asp",true); 9 xmlhttp.setrequestheader("content-type","application/x-www-form-urlencoded"); 10 xmlhttp.send("fname=henry&lname=ford");

(A)synchroniczność AJAX Podsumowanie Przypomnienie AJAX - wstęp Prykłady AJAX i JSON Frameworki Pojęcie asynchroniczności jest podstawowe dla AJAXa i było ogromnym udoskonaleniem jeśli chodzi o tworzenie stron WWW. Często operacje wykonywane na serwerze sa czasochłonne. Przed AJAXem mogło to powodować zawieszanie sie aplikacji webowych. W AJAXie JavaScript może wykonywać inne skrypty oczekujac na odpowiedź z servera Listing 2: przykład 1 xmlhttp.onreadystatechange=function() 2 { 3 if (xmlhttp.readystate==4 && xmlhttp.status==200) 4 document.getelementbyid("mydiv").innerhtml=xmlhttp.responsetext; 5 } 6 xmlhttp.open("get","ajax_info.txt",true); 7 xmlhttp.send(); 8 9 (...) 10 11 xmlhttp.open("get","ajax_info.txt",false); 12 xmlhttp.send(); 13 document.getelementbyid("mydiv").innerhtml=xmlhttp.responsetext; Uwaga: użycie async=false jest niepolecane, jednak czasami może być ono wskazane.

Po przesłaniu żadanie na serwer przygotowywana jest odpowiedź, która przesyłana jest w obiekcie również w obiekcie XMLHttpRequest, a można ja odczytać np poprzez zmienna responsetext lub responsexml: Listing 3: przykład 1 document.getelementbyid("mydiv").innerhtml=xmlhttp.responsetext; 2 (...) 3 xmldoc=xmlhttp.responsexml; 4 var txt=""; 5 x=xmldoc.getelementsbytagname("artist"); 6 for (i=0;i<x.length;i++) 7 { 8 txt=txt + x[i].childnodes[0].nodevalue + "<br />"; 9 } 10 document.getelementbyid("mydiv").innerhtml=txt;

Zdarzenie onreadystatechange Gdy odpowiedź przesłana zostanie z serwera należy wykonać jakaś czynność. Zdarzenie onreadystatechange (a dokładniej funkcja przechowywana w onreadystatechange) wykonywane jest za każdym razem gdy zmieni się wartość readystate w obiekcie XMLHttpRequest. readystate: 0 żadanie nie zostało zainicjalizowane 1 połaczenie z serwerem zostało ustanowione 2 odpowiedź została otrzymana 3 przetwarzanie żadania 4 żadanie zostało zakończone i odpowiedź jest gotowa status 200 OK 404 strona nie została odnaleziona

1 xmlhttp.onreadystatechange=function() 2 { 3 if (xmlhttp.readystate==4 && xmlhttp.status==200) 4 document.getelementbyid("mydiv").innerhtml=xmlhttp.responsetext; 5 } 6 7 (...) 8 9 function myfunction() 10 { 11 loadxmldoc("ajax_info.txt",function() 12 { 13 if (xmlhttp.readystate==4 && xmlhttp.status==200) 14 document.getelementbyid("mydiv").innerhtml=xmlhttp.responsetext; 15 }); 16 }

Przykład: wyszukiwanie tekstu Listing 4: showhint 1 function showhint(str) 2 { 3 if (str.length==0) 4 { 5 document.getelementbyid("txthint").innerhtml=""; 6 return; 7 } 8 if (window.xmlhttprequest) xmlhttp=new XMLHttpRequest(); 9 else xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 10 11 xmlhttp.onreadystatechange=function() 12 { 13 if (xmlhttp.readystate==4 && xmlhttp.status==200) 14 document.getelementbyid("txthint").innerhtml=xmlhttp.responsetext; 15 } 16 xmlhttp.open("get","gethint.asp?q="+str,true); 17 xmlhttp.send(); 18 }

Przykład: wyszukiwanie tekstu c.d. Listing 5: showhint 1 <?php 2 3 $a[]="anna"; 4 $a[]="wenche"; 5 $a[]="vicky"; 6 7 / / g e t t h e q parameter from URL 8 $q=$_get["q"]; 9 10 / / lookup a l l h i n t s from a r r a y i f l e n g t h o f q>0 11 if (strlen($q) > 0) 12 { 13 $hint=""; 14 for($i=0; $i<count($a); $i++) 15 { 16 if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q)))) 17 { 18 if ($hint=="") $hint=$a[$i]; 19 else $hint=$hint.", ".$a[$i]; 20 } 21 } 22 } 23 24 / / Set output to " no suggestion " i f no h i n t were found 25 / / or t o t h e c o r r e c t v a l u e s 26 if ($hint == "") $response="no suggestion"; 27 else $response=$hint; 28 29 / / o u t p u t t h e r e s p o n s e 30 echo $response; 31?>

Przykład: AJAX i Bazy danych 1 <html><head> 2 <script type="text/javascript"> 3 function showuser(str) { 4 if (str=="") { 5 document.getelementbyid("txthint").innerhtml=""; 6 return; 7 } 8 if (window.xmlhttprequest) xmlhttp=new XMLHttpRequest(); 9 else xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 10 xmlhttp.onreadystatechange=function() { 11 if (xmlhttp.readystate==4 && xmlhttp.status==200) 12 document.getelementbyid("txthint").innerhtml=xmlhttp.responsetext; 13 } 14 xmlhttp.open("get","getuser.php?q="+str,true); 15 xmlhttp.send(); 16 } 17 </script> 18 </head> 19 <body> 20 <form> 21 <select name="users" onchange="showuser(this.value)"> 22 <option value="">select a person:</option> 23 <option value="1">peter Griffin</option> 24 <option value="2">lois Griffin</option> 25 <option value="3">glenn Quagmire</option> 26 <option value="4">joseph Swanson</option> 27 </select> 28 </form><br /> 29 <div id="txthint"><b>person info will be listed here.</b></div> 30 </body>

1 <?php 2 $q=$_get["q"]; 3 $con = mysql_connect( localhost, peter, abc123 ); 4 if (!$con) die( Could not connect:. mysql_error()); 5 6 mysql_select_db("ajax_demo", $con); 7 8 $sql="select * FROM user WHERE id = ".$q." "; 9 10 $result = mysql_query($sql); 11 12 echo "<table border= 1 > 13 <tr> 14 <th>firstname</th> 15 <th>lastname</th> 16 <th>age</th> 17 <th>hometown</th> 18 <th>job</th> 19 </tr>"; 20 21 while($row = mysql_fetch_array($result)) 22 { 23 echo "<tr>"; 24 echo "<td>". $row[ FirstName ]. "</td>"; 25 echo "<td>". $row[ LastName ]. "</td>"; 26 echo "<td>". $row[ Age ]. "</td>"; 27 echo "<td>". $row[ Hometown ]. "</td>"; 28 echo "<td>". $row[ Job ]. "</td>"; 29 echo "</tr>"; 30 } 31 echo "</table>"; 32 mysql_close($con);?>

XML a JSON AJAX Podsumowanie Przypomnienie AJAX - wstęp Prykłady AJAX i JSON Frameworki Listing 6: XML 1 <?xml version= 1.0 encoding= UTF-8?> 2 <card> 3 <fullname>sean Kelly</fullname> 4 <org>sk Consulting</org> 5 <emailaddrs> 6 <address type= work >kelly@seankelly.biz</address> 7 <address type= home pref= 1 >kelly@seankelly.tv</address> 8 </emailaddrs> 9 <telephones> 10 <tel type= work pref= 1 >+1 214 555 1212</tel> 11 <tel type= fax >+1 214 555 1213</tel> 12 <tel type= mobile >+1 214 555 1214</tel> 13 </telephones> 14 <addresses> 15 <address type= work format= us >1234 Main St 16 Springfield, TX 78080-1216</address> 17 <address type= home format= us >5678 Main St 18 Springfield, TX 78080-1316</address> 19 </addresses> 20 <urls> 21 <address type= work >http://seankelly.biz/</address> 22 <address type= home >http://seankelly.tv/</address> 23 </urls> 24 </card>

XML a JSON c.d. AJAX Podsumowanie Przypomnienie AJAX - wstęp Prykłady AJAX i JSON Frameworki Listing 7: JSON 1 { 2 "fullname": "Sean Kelly", 3 "org": "SK Consulting", 4 "emailaddrs": [ 5 {"type": "work", "value": "kelly@seankelly.biz"}, 6 {"type": "home", "pref": 1, "value": "kelly@seankelly.tv"} 7 ], 8 "telephones": [ 9 {"type": "work", "pref": 1, "value": "+1 214 555 1212"}, 10 {"type": "fax", "value": "+1 214 555 1213"}, 11 {"type": "mobile", "value": "+1 214 555 1214"} 12 ], 13 "addresses": [ 14 {"type": "work", "format": "us", 15 "value": "1234 Main StnSpringfield, TX 78080-1216"}, 16 {"type": "home", "format": "us", 17 "value": "5678 Main StnSpringfield, TX 78080-1316"} 18 ], 19 "urls": [ 20 {"type": "work", "value": "http://seankelly.biz/"}, 21 {"type": "home", "value": "http://seankelly.tv/"} 22 ] 23 }

JSON AJAX Podsumowanie Przypomnienie AJAX - wstęp Prykłady AJAX i JSON Frameworki JSON and. JavaScript Object Notation Format danych oparty na JavaScript Struktura zagnieżdżenia elemetnów podobna jak w XML JSON jest również formatem textowym Jest praktycznie tak samo czytelny jak XML Ma mniej redundancji - przez to jest zazwyczaj nieco lżeszy XML jest dobrym narzędziem do tworzenia dokumentów JSON jest dobrym formatem do przesyłania danych Jest jeden obiekt z zagnieżdżonymi innymi objektami, tablicami, stringami, liczbami itp. Największa zaleta jest szybki i łatwy sposób wykorzystania w JavaScripcie (JSON jest podzbiorem js)

Jeśli chodzi o pobieranie danych wszystko wyglada tak samo: 1 var req = new XMLHttpRequest(); 2 req.open("get", "http://localhost/addr?cardid=32", / async /true); 3 req.onreadystatechange = myhandler; 4 req.send(/ no params /null); Odczytywanie z pliku XML z wykorzystaniem modelu DOM: 1 function myhandler() { 2 if (req.readystate == 4 / complete /) { 3 / / Update a d d r e s s f i e l d i n a form w i t h f i r s t s t r e e t a d d r e s s 4 var addrfield = document.getelementbyid( addr ); 5 var root = req.responsexml; 6 var addrselem = root.getelementsbytagname( addresses )[0]; 7 var firstaddr = addrselem.getelementsbytagname( address )[0]; 8 var addrtext = fistaddr.firstchild; 9 var addrvalue = addrtext.nodevalue; 10 addrfield.value = addrvalue; 11 } 12 }

To samo ale z użyciem danych w formacie JSON: 1 unction myhandler() { 2 if (req.readystate == 4 / complete /) { 3 var addrfield = document.getelementbyid( addr ); 4 var card = eval( ( + req.responsetext + ) ); 5 addrfield.value = card.addresses[0].value; 6 } 7 } Co prawda w przeciwieństwie do poprzedniego przypadku odpowiedź należy sparsować (XML od razu jest przekazywany w postaci obiektu DOM), ale parsowanie danych w formacie JSON to tylko jedna linijka (4). Dane sa bezpośrednio dostępne z poziomu JavaScript, tak jak wszystkie inne dane, co bardzo ułatwia ich odczytywanie. Funkcja eval wykonuje wszystkie skrypty gdy napotka kod JavaScript. Ze względów bezpieczeństwa można używać metody parse, która opuszcza skrypty.

Prototype JavaScript Framework - rozbudowana biblioteka JavaScript. Zawiera wiele rozwiazań wspomagajacych operacje na DOM, programowanie AJAX, i wiele innych. $() funkcja dolara jest używana jako skrót do metody getelementbyid. By odwołać się do obiektu DOM w stronie HTML: $("moj_element").style.display = "none"; $F() zwraca wartość pola formularza. Na przykład dla elementu text zwróci wartość pola: $$() funkcja podwójnego dolara jest silnikiem selektorów CSS. Można używać takich samych selektorów jakich się używa w arkuszu stylów. Obiekt AJAX oferowany przez Prototype, jest przenośny między przegladarkami. Posiada dwie główne metody: Ajax.Request() i Ajax.Updater(). 1 var url = "http://www.foobar.com/path/script.php"; 2 3 var myajax = new Ajax.Request(url, { 4 parameters: { 5 imie: $F("imie"), 6 wiek: $F("wiek") 7 }, 8 onsuccess: function(t) { 9 alert(t); 10 }, 11 onfailure: function(t) { 12 alert( Error... ); 13 } 14 });

Biblioteka script.aculo.us jest udostępniana na Licencji X11, a baza dla tej biblioteki jest Prototype JavaScript Framework, więc często sa one spotykane razem. Aculo.us rozszerza Prototype JS o animacje oraz różne efekty wizualne, czy też o elementy interfejsu użytkownika na bazie obiektowego modelu dokumentu DOM. jquery lekka biblioteka programistyczna dla języka JavaScript, ułatwiajaca korzystanie z JavaScript (w tym manipulację drzewem DOM). Pozwala osiagn ać interesujace efekty animacji, dodać dynamiczne zmiany strony, wykonać zapytania AJAX. jquery UI - jest rozszerzeniem biblioteki jquery o bogaty zestaw komponentów graficznych i widgetów Adobe Spry framework JS / Ajax od firmy Adobe. Bardzo bogaty, posiadajacy wiele elementów, m.in: efekty(animacje, przenikanie, potrzasanie, itd), wsparcie do przetwarzania XML, JSON, HTML, XML, MooTools modułowa biblioteka JavaScript. mintajax rozbudowana, łatwa w użyciu i darmowa biblioteka JavaScript o małych rozmiarach przeznaczona do prostego, szybkiego i wygodnego tworzenia dynamicznych stron internetowych.

Plan AJAX Podsumowanie 1 AJAX 2 Podsumowanie

AJAX Podsumowanie AJAX - podsumowanie Zbiór kilku narzędzi do dynamicznego i asynchronicznego tworzenia stron WWW (JavaScript, DOM, XML, XMLHttpRequest) Pozwala na tworzenie interaktywnych aplikacji webowych, bez konieczności przeładowywania całej strony Przegladarka tworzy obietk XMLHttpRequest, w którym umieszczane jest żadanie wysyłane do serwera Po otrzymaniu odpowiedzi z servera JavaScript analizuje odpowiedź i aktualizuje jedynie te fragmenty, których dotycza zmiany Odpowiedzi najczęsciej sa przesyłane w postaci zwykłego tekstu, XML lub w formacie JSON Dane z XML można przetwarzać przy pomocy modelu DOM Dane z JSON sa już praktycznie w formacie danych JavaScript - nie potrzebne sa złożone procedury wybierania odpowiednich elementów.