SlideShare une entreprise Scribd logo
1  sur  24
Technologia AJAX   Podstawy technologii AJAX Michał Kuciapski Katedra Informatyki Ekonomicznej
Tematyka wykładu ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Definicja technologii AJAX ,[object Object],Definicja wg Wikipedii
Korzyści stosowania technologii AJAX(1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Korzyści stosowania technologii AJAX(2) Klient: [interakcja] przesłanie żądania -> dalsze równoczesnej inne interakcje w trakcie oczekiwania <interakcje JavaScript; żądania HTTP> Serwer: przetworzenie żądania HTTP i przesłanie porcji danych dla odświeżenia zawartości wyłącznie fragmentu strony Klient: [interakcja] przesłanie żądania -> oczekiwanie Serwer: przesłanie dużej strony Klient: przesłanie żądania -> oczekiwanie Serwer: przesłanie dużej strony Klient: przesłanie żądania -> oczekiwanie Serwer: przesłanie dużej strony AJAX Strona bez AJAX
Historia powstania technologii AJAX ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Architektura AJAX – składniki (1) ,[object Object],[object Object],[object Object],[object Object]
Architektura AJAX – składniki (2) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Architektura AJAX - biblioteki ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Źródło: Wikipedia
Architektura AJAX - frameworki ,[object Object],Python Pyjamas PHP Xajax PHP Tigermouse PHP Symfony PHP Sajax ASP.NET ASP.NET AJAX ASP.NET Ajax.NET Professional Java ZK Framework Java OpenXava Java ItsNat Java IT Mill Toolkit Java Google Web Toolkit Java Echo Język skryptów Nazwa
Architektura AJAX – wykonanie (1) ,[object Object],[object Object],[object Object],[object Object]
Architektura AJAX – wykonanie (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Architektura AJAX – wykonanie (3) ,[object Object],[object Object],[object Object],[object Object],Żądanie zostało zakończone 4 Żądanie jest realizowane 3 Żądanie zostało wysłane 2 Żądanie zostało przygotowane 1 Żądanie nie zostało zainicjowane 0 Opis Stan
Architektura AJAX – wykonanie (4) ,[object Object],[object Object],[object Object],[object Object],[object Object],Typ wysłania żądania POST/GET Strona wysłania żądania Asynchroniczność
Architektura AJAX – wykonanie (5) <html><body> <script type=&quot;text/javascript&quot;> function funkcjaAjax() { var ajaxT; if ( window.XMLHttpRequest )   // IE7+, Firefox, Chrome, Opera, Safari   {    ajaxT=new XMLHttpRequest();   } else if (window.ActiveXObject) // IE6, IE5   {    ajaxT=new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);   } else   {   alert(&quot;Brak wsparcia dla XMLHTTP!&quot;);   } ajaxT.onreadystatechange=function() { if(  ajaxT.readyState==4  )   {    document.myForm.wynik.value=ajaxT.responseText;   } } ajaxT.open(&quot;GET&quot;,&quot;produkt.aspx&quot;,true); ajaxT.send(null); } </script> <form name=&quot;myForm&quot;> Kod:  <input type=&quot;text&quot; name=&quot;kod&quot; onkeyup=&quot;ajaxFunction();&quot; /> Produkt: <input type=&quot;text&quot; name=&quot;wynik&quot; /> </form> </body></html>
Architektura AJAX – format danych XML JSON MIME   dla  JSON  -  application/json
Architektura AJAX - przeglądarki ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ograniczenia technologii AJAX (1) ,[object Object],[object Object],[object Object],[object Object]
Ograniczenia technologii AJAX (2) ,[object Object],[object Object],[object Object],[object Object]
Trendy technologii AJAX ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Przykład wdrożenia technologii AJAX –  wersja bez AJAX-u ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Deklaracja strony ASP .NET Definicja metody obsługi zdarzenia Kontrolki asp Wywołanie metody jako postback
Przykład wdrożenia technologii AJAX –  kod html ,[object Object],[object Object]
Przykład wdrożenia technologii AJAX –  kod html <script type=&quot;text/javascript&quot;> function wyliczDlugosc() { var ajaxT=new XMLHttpRequest(); ajaxT.onreadystatechange = function() { if (ajaxT.readyState == 4) { document.znaki.dlugosc.value = ajaxT.responseText; } } var url = &quot;wylicz.aspx?tekst=&quot; + document.getElementById(&quot;tekst&quot;).value; ajaxT.open(&quot;GET&quot;,url,true);  ajaxT.send(); } </script> </head> <body> <form id=&quot;znaki&quot; runat=&quot;server&quot;> <div> <input id=&quot;tekst&quot; type=&quot;text&quot; onkeyup=&quot;wyliczDlugosc();&quot; runat=&quot;server&quot; /> <input id=&quot;dlugosc&quot; type=&quot;text&quot; readonly=&quot;readonly&quot; runat=&quot;server&quot; />  </div> </form> Klient Utworzenie obiektu komunikacji AJAX Zdefniowanie metody otrzymania odpowiedzi Sprawdzenie stanu wykonania zadania Przygotowanie żądania Wysłanie żądania Przypisanie metody zdarzeniu Zwrócenie odpowiedzi
Przykład wdrożenia technologii AJAX –  kod html <%@ Page Language=&quot;C#&quot; %> <script runat=&quot;server&quot;> void Page_Load(object sender, EventArgs e) { string tekst = Page.Request.QueryString[0]; int dlugosc = tekst.Length;  Response.Write(dlugosc);  } </script> Server

Contenu connexe

Similaire à AJAX - wdw1

AJAX w mgnieniu oka
AJAX w mgnieniu okaAJAX w mgnieniu oka
AJAX w mgnieniu oka
Wydawnictwo Helion
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
GaldoMedia
 
Ajax. Zaawansowane programowanie
Ajax. Zaawansowane programowanieAjax. Zaawansowane programowanie
Ajax. Zaawansowane programowanie
Wydawnictwo Helion
 
Ajax. Niezbędnik projektanta dynamicznych aplikacji
Ajax. Niezbędnik projektanta dynamicznych aplikacjiAjax. Niezbędnik projektanta dynamicznych aplikacji
Ajax. Niezbędnik projektanta dynamicznych aplikacji
Wydawnictwo Helion
 
Tworzenie stron WWW z wykorzystaniem Ajaksa. Projekty
Tworzenie stron WWW z wykorzystaniem Ajaksa. ProjektyTworzenie stron WWW z wykorzystaniem Ajaksa. Projekty
Tworzenie stron WWW z wykorzystaniem Ajaksa. Projekty
Wydawnictwo Helion
 

Similaire à AJAX - wdw1 (20)

4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
 
AJAX w mgnieniu oka
AJAX w mgnieniu okaAJAX w mgnieniu oka
AJAX w mgnieniu oka
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
 
Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developera
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do Asp
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)
 
Serwery WWW - wykład
Serwery WWW - wykładSerwery WWW - wykład
Serwery WWW - wykład
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
 
Single Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu RESTSingle Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu REST
 
Czym Jest Web 2.0?
Czym Jest Web 2.0?Czym Jest Web 2.0?
Czym Jest Web 2.0?
 
Ajax. Zaawansowane programowanie
Ajax. Zaawansowane programowanieAjax. Zaawansowane programowanie
Ajax. Zaawansowane programowanie
 
Ajax. Niezbędnik projektanta dynamicznych aplikacji
Ajax. Niezbędnik projektanta dynamicznych aplikacjiAjax. Niezbędnik projektanta dynamicznych aplikacji
Ajax. Niezbędnik projektanta dynamicznych aplikacji
 
Testy funkcjonalne
Testy funkcjonalneTesty funkcjonalne
Testy funkcjonalne
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Tworzenie stron WWW z wykorzystaniem Ajaksa. Projekty
Tworzenie stron WWW z wykorzystaniem Ajaksa. ProjektyTworzenie stron WWW z wykorzystaniem Ajaksa. Projekty
Tworzenie stron WWW z wykorzystaniem Ajaksa. Projekty
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUG
 
HTML5: Atak i obrona
HTML5: Atak i obronaHTML5: Atak i obrona
HTML5: Atak i obrona
 
AADays 2015 - Jak to zrobic w JavaScript
AADays 2015 - Jak to zrobic w JavaScriptAADays 2015 - Jak to zrobic w JavaScript
AADays 2015 - Jak to zrobic w JavaScript
 
My littlemvc 2008 official
My littlemvc 2008 officialMy littlemvc 2008 official
My littlemvc 2008 official
 

Plus de Michał Kuciapski (8)

Lesnictwo
LesnictwoLesnictwo
Lesnictwo
 
Wyklad2 - XSD
Wyklad2 - XSDWyklad2 - XSD
Wyklad2 - XSD
 
test
testtest
test
 
Untitledfdfdfd 2
Untitledfdfdfd 2Untitledfdfdfd 2
Untitledfdfdfd 2
 
Zaliczenie Sem 2
Zaliczenie Sem 2Zaliczenie Sem 2
Zaliczenie Sem 2
 
Koncepcja i formy e-learningu
Koncepcja i formy e-learninguKoncepcja i formy e-learningu
Koncepcja i formy e-learningu
 
Wykorzystanie e-learningu
Wykorzystanie e-learninguWykorzystanie e-learningu
Wykorzystanie e-learningu
 
Podstawowe technologie e-learningowe
Podstawowe technologie e-learningowePodstawowe technologie e-learningowe
Podstawowe technologie e-learningowe
 

AJAX - wdw1

  • 1. Technologia AJAX Podstawy technologii AJAX Michał Kuciapski Katedra Informatyki Ekonomicznej
  • 2.
  • 3.
  • 4.
  • 5. Korzyści stosowania technologii AJAX(2) Klient: [interakcja] przesłanie żądania -> dalsze równoczesnej inne interakcje w trakcie oczekiwania <interakcje JavaScript; żądania HTTP> Serwer: przetworzenie żądania HTTP i przesłanie porcji danych dla odświeżenia zawartości wyłącznie fragmentu strony Klient: [interakcja] przesłanie żądania -> oczekiwanie Serwer: przesłanie dużej strony Klient: przesłanie żądania -> oczekiwanie Serwer: przesłanie dużej strony Klient: przesłanie żądania -> oczekiwanie Serwer: przesłanie dużej strony AJAX Strona bez AJAX
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Architektura AJAX – wykonanie (5) <html><body> <script type=&quot;text/javascript&quot;> function funkcjaAjax() { var ajaxT; if ( window.XMLHttpRequest )   // IE7+, Firefox, Chrome, Opera, Safari   {   ajaxT=new XMLHttpRequest();   } else if (window.ActiveXObject) // IE6, IE5   {    ajaxT=new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);   } else   {   alert(&quot;Brak wsparcia dla XMLHTTP!&quot;);   } ajaxT.onreadystatechange=function() { if( ajaxT.readyState==4 )   {   document.myForm.wynik.value=ajaxT.responseText;   } } ajaxT.open(&quot;GET&quot;,&quot;produkt.aspx&quot;,true); ajaxT.send(null); } </script> <form name=&quot;myForm&quot;> Kod: <input type=&quot;text&quot; name=&quot;kod&quot; onkeyup=&quot;ajaxFunction();&quot; /> Produkt: <input type=&quot;text&quot; name=&quot;wynik&quot; /> </form> </body></html>
  • 16. Architektura AJAX – format danych XML JSON MIME dla JSON - application/json
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Przykład wdrożenia technologii AJAX – kod html <script type=&quot;text/javascript&quot;> function wyliczDlugosc() { var ajaxT=new XMLHttpRequest(); ajaxT.onreadystatechange = function() { if (ajaxT.readyState == 4) { document.znaki.dlugosc.value = ajaxT.responseText; } } var url = &quot;wylicz.aspx?tekst=&quot; + document.getElementById(&quot;tekst&quot;).value; ajaxT.open(&quot;GET&quot;,url,true); ajaxT.send(); } </script> </head> <body> <form id=&quot;znaki&quot; runat=&quot;server&quot;> <div> <input id=&quot;tekst&quot; type=&quot;text&quot; onkeyup=&quot;wyliczDlugosc();&quot; runat=&quot;server&quot; /> <input id=&quot;dlugosc&quot; type=&quot;text&quot; readonly=&quot;readonly&quot; runat=&quot;server&quot; /> </div> </form> Klient Utworzenie obiektu komunikacji AJAX Zdefniowanie metody otrzymania odpowiedzi Sprawdzenie stanu wykonania zadania Przygotowanie żądania Wysłanie żądania Przypisanie metody zdarzeniu Zwrócenie odpowiedzi
  • 24. Przykład wdrożenia technologii AJAX – kod html <%@ Page Language=&quot;C#&quot; %> <script runat=&quot;server&quot;> void Page_Load(object sender, EventArgs e) { string tekst = Page.Request.QueryString[0]; int dlugosc = tekst.Length; Response.Write(dlugosc); } </script> Server