AJAX Asychronous JavaScript And XML (...mali delic WEB 2.0 standarda) Tutorijal za osnovno koriscenje AJAX-a - Vladica Savić

Similar documents
PREDMET. Osnove Java Programiranja. Čas JAVADOC

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

Sberbank Business Online na Mozilla FireFox

Vežbe - XII nedelja PHP Doc

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

Uputstvo za korišćenje logrotate funkcije

Računarske osnove Interneta (SI3ROI, IR4ROI)

Uputstvo za podešavanje mail klijenta

A.A. 2008/09. What is Ajax?

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Izrada VI laboratorijske vježbe

XMLHttpRequest. CS144: Web Applications

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Programiranje III razred

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

VDSL modem Zyxel VMG1312-B10A/B30A

VRIJEDNOSTI ATRIBUTA

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi.

JavaScript i HTML DOM

Backup i Restore C particije ili Windowsa sa NORTON-om

GUI - događaji (Events) i izuzeci. Bojan Tomić

Proširena stvarnost - Augmented Reality (AR) Dr Nenad Gligorić

PROGRAMIRANJE. Amir Hajdar

Modbus TCP i dva PLC S7 1200

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

AJAX(Asynchronous Javascript + XML) Creating client-side dynamic Web pages

Upute za postavljanje Outlook Expressa

AJAX. Introduction. AJAX: Asynchronous JavaScript and XML

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

Uvod u relacione baze podataka

PARALELNO PROGRAMIRANJE

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS

VB komande. Programiranje 1

Internet programiranje

ARDUINO KROZ JEDNOSTAVNE PRIMJERE - pripreme za natjecanja -

x y = z Zadaci - procedure

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

Programske paradigme Funkcionalna paradigma

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji

Zadaci za Tutorijal 2.

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0

Jezik Baze Podataka SQL. Jennifer Widom

Uputa za instaliranje programske potpore za operativni sustav WINDOWS

AJAX and PHP AJAX. Christian Wenz,

VHDLPrimeri Poglavlje5.doc

Aspektno programiranje u Javi. AOP + AspectJ

Informacioni sistemi i baze podataka

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Variable Neighborhood Descent - VND (Metoda promenljivog spusta)

Kodiranje GUI aplikacija u Visual C#

12. Uskladištene procedure (Stored Procedures)

OUR KNOWLEDGE FOR YOUR SUCCESS. Iskustva u razvoju i implementaciji ADF aplikacije

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

Dežurni nastavnik: Kolokvijum traje 1.5 sat, prvih sat vremena nije dozvoljeno napuštanje kolokvijuma. Upotreba literature nije dozvoljena.

Use of PHP for DB Connection. Middle and Information Tier. Middle and Information Tier

NIZOVI.

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine

An Introduction to AJAX. By : I. Moamin Abughazaleh

Use of PHP for DB Connection. Middle and Information Tier

Cjenovnik usluga informacionog društva

CITS1231 Web Technologies. Ajax and Web 2.0 Turning clunky website into interactive mashups

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end;

TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom. Priručnik za korištenje i brzu instalaciju

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Introduction to InfoSec SQLI & XSS (R10+11) Nir Krakowski (nirkrako at post.tau.ac.il) Itamar Gilad (itamargi at post.tau.ac.il)

Uvod, varijable, naredbe, petlje


PKI Applet Desktop Application Uputa za instalaciju programske potpore

Primjena skriptnih jezika u dinamičkom generiranju mrežnih stranica

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,

Veliki računski zadaci mogu se razbiti u manje delove i time se omogućava ljudima da iskoriste ono što su neki drugi već uradili, umesto da počinju

Iskočni okviri (eng. popup boxes)

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu:

Profesor dr Miroslav Lutovac. Telekomunikacioni servisi i tehnologije

JavaScript u Web design-u

AJAX. Lecture 26. Robb T. Koether. Fri, Mar 21, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) AJAX Fri, Mar 21, / 16

Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R.

Implementacija MVC arhitekture u JSP tehnologiji

Numerical Computation

Osnove RDBMS-a: Šta sačinjava SQL Server bazu podataka

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA

Ajax- XMLHttpResponse. Returns a value such as ArrayBuffer, Blob, Document, JavaScript object, or a DOMString, based on the value of

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

2. Linijska algoritamska struktura

WEB PROGRAMIRANJE PHP

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Dežurni nastavnik: Ispit traje 3 sata, prvih sat vremena nije dozvoljeno napuštanje ispita. Upotreba literature nije dozvoljena.

Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom

Web Application Security

Sigurnost u Windows 7. Saša Kranjac MCT

AJAX เสถ ยร ห นตา ส าน กเทคโนโลย สารสนเทศและการส อสาร มหาว ทยาล ยนเรศวร พะเยา

Transcription:

AJAX Asychronous JavaScript And XML (...mali delic WEB 2.0 standarda) Tutorijal za osnovno koriscenje AJAX-a - Vladica Savić

Šta je zapravo AJAX? AJAX je skraćenica od Asynchronous JavaScript And XML. Kratko rečeno AJAX je zasnovan na JavaScript i HTTP zahtevima i njegova glavna osobina je da omogući da se na nekom sajtu šalje/prima sadržaj bez ponovnog učitavanja stranice. Šta bi već trebalo da znate pre nego počnete sa AJAX-om? HTML / XHTML JavaScript Server-side scripting AJAX nije novi jezik programiranja, već tehnika za kreiranje boljih, bržih i interaktivnijih web aplikacija. Sa AJAX-om, vaš JavaScript može da komunicira direktno sa serverom, koristeći JavaScript XMLHttpRequest objekat. Pomoću ovog objekta, vaš JavaScript može da razmenjuje podatke sa web serverom, bez ponovnog učitavanja stranice. AJAX koristi asinhroni transfer podataka (HTTP zahtevi) izmeñu pretraživača i servera, omogućujući web aplikaciji da obrañuje samo one podatke koji su zaista potrebni umesto čitavih stranica. AJAX je zasnovan na sledećim web standardima: JavaScript XML HTML CSS Web standardi koji se koriste u AJAX-u su dobro definisani i podržani od svih velikih web browsera. AJAX prednosti Web aplikacije imaju mnogo prednosti nad desktop aplikacijama, osnovna je da one lako mogu da dopru do više korisnika, lakše su za instaliranje i obezbeñivanje podrške, i lakše za razvijanje. Sa AJAX-om, internet aplikacije mogu da budu bogatije i brže za korišćenje nego što su bile do sada. AJAX koristi HTTP zahteve U "klasicnom" programiranju, ako želite da dobijete bilo kakvu informaciju iz baze podataka ili fajla nekog koji se nalazi na serveru, ili pošaljete serveru informacije o korisniku, vi trebate da napravite HTML formu i preko GET ili POST metode dobijete ili pošaljete podatke serveru. Sto bi znacilo da nakon sto se posalje/dobije informacija od servera da se onda da učita opet cela strana kako bi rezultati bili vidljivi i samim tim pošto server vraća novu stranicu svaki put kada korisnik pošalje neke podatke, tradicionalne web aplikacije znaju da budu spore. Pomocu AJAX-a JavaScript komunicira direktno sa serverom, kroz JavaScript XMLHttpRequest objekat. Pomoću HTTP zahteva, web stranica šalje zahtev serveru, i dobije odgovor od njega - bez ponovnog učitavanja web stranice, i korisnik gotovo da i neće primetiti da je skript poslao zahtev za stranicom, ili da je u pozadini poslao podatke na server. XMLHttpRequest Objekat Koristeći XMLHttpRequest objekat, web programer može da ažurira stranicu sa podacima sa servera nakon što se stranica učitala sto je opet jedan veliki plus! Napomena Kada radimo sa XMLHttpRequest-om trebamo voditi racuna i koji browser je u pitanju. Veliki broj browsera podrzava XMLHttpRequest ( Internet Explorer (...sve verzije novije od 5.0 verzije), Firefox, Opera (sto bi ukratko znacilo skoro svi)) ali je malo drugacije slanje XMLHttpRequest-a svakom od njih.

A sad, da počnemo nešto konkretnije nakon što smo se upoznali teorijski sa AJAX-om... Pokazaću vam kako AJAX nije neka babaroga koje se treba plašiti, i da je zapravo relativno lako koristiti ga. Napravićemo malu web aplikacijicu koja neće imati neki kompleksan zadatak, već ce biti mali primer kako jednostavno da pošaljete serveru nešto na obradu i da server vrati obrañen podatak, i to bez ponovnog ucitavanja (osvežavanja) cele strane... Napravicemo HTML formu u kojoj ćemo imati jedno tekstualno polje u koje ćemo unositi tekst, neko ime recimo i skriptu koja ce nam vratiti podatak o tome sta smo uneli u to tekstualno polje, i md5()-ovan oblik toga recimo...vi naravno možete staviti bilo šta drugo, ali ovde sam hteo da samo pokažem kako lako sve to implementirati. Dakle, napravićemo HTML fajl koji će za pocetak izgledati ovako: <html> <body> <form name="moja_forma"> Unesi svoje ime: <input type="text" onkeyup="ajaxfunction();" name="ime" /> Prikaz nakon obrade AJAX-om: <span id="prikaz" /> </form> </body> </html> Primetićete da se na "onkeyup" dogañaj poziva JavaScript funkcija pod imenom "ajaxfunction()", ona izgleda ovako: function ajaxfunction() var xmlhttp; // Firefox, Opera 8.0+, Safari i ostali "NORMALNI" browseri xmlhttp=new XMLHttpRequest(); // IE - (Imbecil Engine (Internet Explorer)) xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); alert("tvoj browser ne podrzava AJAX!"); return false; xmlhttp.onreadystatechange=function() var sta_kucamo = (document.moja_forma.ime.value); var url="obradi.php?tekst="+sta_kucamo;

Šta možemo da primetimo u ovoj skripti? Pa, najpre odreñujemo koji browser korisnik ima i da li njegov browser podržava AJAX i na osnovu toga kreiramo XMLHttpRequest objekat, i da nakon što to uradimo, ukoliko browser podrzava AJAX sledi provera stanja XMLHttpRequest objekta: xmlhttp.onreadystatechange=function() xmlhttp.onreadystatechange - čuva funkciju koja će da procesuira podatke koje dobija od servera. xmlhttp.readystate==4 - stanje 4 predstavlja stanje kada je završena obrada poslatih podataka preko ajax-a. U našem slučaju dodelićemo našem HTML elementu čiji je id "prikaz" tekst koji će nam vratiti skripta koja obrañuje željene podatke. Inače, moguće vrednosti readystate XMLHttpRequest-a su: 0 Zahtev nije inicijalizovan 1 Zahtev je podešen 2 Zahtev je poslat 3 Zahtev se obrañuje 4 Zahtev je završen U promenjivoj sta_kucamo smeštamo tekst koji je u tekstbox-u pod imenom "ime" i to prosleñujemo preko GET metode našoj skripti na serveru, u mom slučaju pod imenom "obradi.php" (u promenjivoj "url"). Da bi poslali zahtev na server mi koristimo open() i send() metode. Metoda open() ima tri argumenta, prvi argument definiše koji metod slanja podataka koristimo (GET ili POST), drugi argument predstavlja URL skripte na serveru koja obrañuje podatke koje šaljemo, i treći argument kaže da zahtev bude obavljen asinhrono. Da bi zahtev za obradu serveru konačno bio poslat moramo da iskoristimo i send() metodu. I znači naša demo.php strana izgleda ovako: <html> <body> <script type="text/javascript"> function ajaxfunction() var xmlhttp; // Firefox, Opera 8.0+, Safari i ostali "NORMALNI" browseri xmlhttp=new XMLHttpRequest(); // IE - (Imbecil Engine (Internet Explorer)) xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); alert("tvoj browser ne podrzava AJAX!"); return false;

xmlhttp.onreadystatechange=function() var sta_kucamo = (document.moja_forma.ime.value); var url="obradi.php?tekst="+sta_kucamo; </script> <form name="moja_forma"> Unesi svoje ime: <input type="text" onkeyup="ajaxfunction();" name="ime" /> Prikaz nakon obrade AJAX-om: <span id="prikaz" /> </form> </body> </html> Na pocetku smo rekli da će naša skripta na serveru da obradi podatke koje joj pošaljemo i vrati nam ih da vidimo kako ona može da izgleda: <?php echo "MD5-ovan oblik gore unetog teksta je: '". md5($_get["tekst"])."'";?> Ovu php skriptu ćemo sačuvati pod imenom "obradi.php" i postaviti u istom folderu gde i gore pomenutu skriptu demo.php i to je to, kad završite ovako bi trebalo da izgleda: http://vladicasavic.iz.rs/ajax/demo.php Ukoliko imate neki komentar posalji mozete me kontaktirati na vladicasavic@yahoo.com ili http://vladicasavic.iz.rs Pozdrav svima koji stignu do dna ove strane, Vladica Savić.