AJAX Asynchronous JavaScript and XML Θ. Βαρβαρίγου Καθηγ. ΕΜΠ Τηλ 210 - 772 2484

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τεχνολογίες Web Απαραίτητες γνώσεις για την υλοποίηση της άσκησης.
Advertisements

Δημιουργία Ιστοσελίδων σε HTML και FrontPage Πρόγραμμα Αναμόρφωσης Προπτυχιακών Σπουδών Κεντρικό Γραφείο Υποστήριξης Εκπαιδευτικού Έργου Αλέξανδρος Λεκατσάς.
Πώς να χρησιμοποιήσετε τον λογαριασμό σας στο Gmail
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
Διαδίκτυο Κίκα Χρυσοστόμου.
Προγραμματισμός Διαδικτύου Δρ. Παναγιώτης Συμεωνίδης Διεπαφή Εφαρμογής Παγκόσμιου Ιστού (Front End Programming)
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Υπηρεσίες Web και Συστάδες υπολογιστών.
5η Συνάντηση Εκπαιδευτικών Πληροφορικής στη Δυτική Μακεδονία Πτολεμαΐδα, 29 Σεπτ 2005 Δημιουργία Δυναμικών Ιστοσελίδων με PHP και Dreamweaver MX Στυλιάδης.
Διαδίκτυο.
Τι είναι το A.J.A.X. ? Τα αρχικά προέρχονται από τις λέξεις Asynchronous JavaScript And XML και είναι ένας από τους κύριους αντιπροσώπους του επονομαζόμενου.
Εργαστήριο Λειτουργικών Συστημάτων Φροντιστήριο 2– Εισαγωγή στη Bash Ντίρλης Νικόλαος.
Δ.Π.Θ. Συνδέοντας έγγραφα - 1 Συνδέοντας έγγραφα Μια σύνδεση στο Web (link) αποτελείται από δύο μέρη : Aυτό που βλέπουμε στη σελίδα και λέγεται άγκυρα.
Σχεδιασμός μιας σελίδας HTML
CSS Cascading Style Sheets
Databases Θ. Βαρβαρίγου Καθηγήτρια ΕΜΠ Τηλ
Web Services Υπηρεσίες διαδικτύου
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 11: Intro to Applets Εβδομάδα 11: Εισαγωγή στα Applets.
Uniform Resource Locators (URLs) Ορισμός : URL (Uniform Resource Locator): Δείκτης σε μία πηγή πληροφοριών του Παγκοσμίου Ιστού (World Wide Web) Στη Java,
Δημιουργία Λογαριασμού
Μέλη ομάδας: Χρυσή Σέα Νικόλας Κλεάνθους Στέφανος Γεωργίου.
Microsoft ASP.NET Browser Web 2.0 CSS JavaScript Server Client Clients Κατσιώτης Ιωάννης Οικονομικό Πανεπιστήμιο Αθηνών
JavaScript Θ. Βαρβαρίγου Καθηγ. ΕΜΠ Τηλ
ΕΣΔ 232: Οργάνωση δεδομένων στην Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Φόρμες Δημιουργία Περιεχομένου Ι.
Ιστοσελίδες -- Web-site. Εισαγωγή Στατικές ιστοσελίδες Δυναμικές ή Διαδραστικές ιστοσελίδες:  Ο τρόπος παρουσίασης και τα περιεχόμενά της ιστοσελίδας.
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
HTML5 Λυμπούδης Μάτε. Η Ιστορία της HTML Η Ιστορία της HTML5  Η ανάπτυξη της ξεκίνησε το 2004 από μέλη της Apple, της Mozilla Foundation και της Opera.
Αντικειμενοστραφής Προγραμματισμός & JAVA
Εισαγωγή στην XML Μ. ΓΑΒΑΛΑΣ.
University of Crete HY566-Semantic Web CS566 – Semantic Web Computer Science Department - UoC Heraklion 1 April, 2003 Παπαγγελής Μάνος, Κοφφινά Ιωάννα,
Tomcat Θ. Βαρβαρίγου Καθηγήτρια ΕΜΠ Τηλ
Κεφάλαιο 11.1 Uniform Resource Locators (URLs). Ορισμός : URL (Uniform Resource Locator): Δείκτης σε μία πηγή πληροφοριών του Παγκοσμίου Ιστού (World.
HTML Θ. Βαρβαρίγου Καθηγ. ΕΜΠ Τηλ
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
Asynchronous Javascript And XML (AJAX) Γιώργος Θάνος Παρασκευή 21 Νοεμβρίου 2008.
XML Parsing Γιώργος Θάνος Παρασκευή 14 Νοεμβρίου 2008.
HTML-PHP Καμπέρης Άρης Α.Μ. 763 Zaher Owda Α.Μ. 849.
ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ “Διαλογικό διδακτικό πρόγραμμα ανώτερων μαθηματικών”
Παρουσίαση εργαλείου Microsoft Silverlight Βερβέρης Παναγιώτης Α.Μ.888 Παπαθανασίου Αθανάσιος Α.Μ.958 1Παρουσίαση τεχνολογίας Silverlight.
Αρχιτεκτονική Open eClass Θερινό Σχολείο, 14 – 20 Ιουλίου 2014 Γιώργος Φουρτούνης Μονάδα Αριστείας ΕΛ/ΛΑΚ ΤΕΙ Αθήνας.
1. 1.Δημιουργία Νέου Αρχείου Επιλέγουμε καρτέλα File, πατούμε στην εντολή New και μετα αφου διαλέξουμε τον τύπo αρχείου (π.χ Blank Document), πατούμε.
ΣΥΝΑΡΤΗΣΙΑΚH JAVASCRIPT. Στόχος της ώρας Συναρτήσεις σε Javascript Συναρτήσεις ως τιμές Συναρτήσεις ως παράμετροι Επιστροφή συναρτήσεων Αντικειμενοστραφής.
Γνωριμία με το Λογισμικό του υπολογιστή Μια παρουσίαση για τους μαθητές της Α΄ Τάξης του 49ου Γυμνασίου Αθήνας Διδάσκων: Χ. Μοτσενίγος 49ο Γυμνάσιο Αθήνας.
ΔΙΑΔΙΚΤΥΑΚΗ ΣΟΥΙΤΑ ΠΡΟΓΡΑΜΜΑΤΩΝ
Παπαδημητρίου Δημήτριος Σιμώνης Εμμανουήλ Επιβλέπων καθηγητής: Δρ. Τσιμπίρης Αλκιβιάδης 1.
Διαδίκτυο / Internet (International Network). Οδικό Δίκτυο.
Ενότητα 2: HTML – Hypertext Markup Language. Φώτης Κόκκορας, Καθηγητής Εφαρμογών, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Προγραμματισμός Εφαρμογών.
Προγραμματισμός Εφαρμογών Διαδικτύου Ενότητα 4: JavaScript – Παραδείγματα (Τα απολύτως απαραίτητα για Form Validation) Φώτης Κόκκορας, Καθηγητής Εφαρμογών,
HTML/CSS: Εισαγωγή Θερινό Σχολείο, 14 – 20 Ιουλίου 2014 Γιώργος Φουρτούνης Μονάδα Αριστείας ΕΛ/ΛΑΚ ΤΕΙ Αθήνας.
ΠΛΗΡΟΦΟΡΙΚΗ Ι Τμήμα Λογιστικής ΤΕΙ Κρήτης Γιάννης Χρυσάκης
Google Tag Manager: Ευελιξία και δύναμη στην ιστοσελίδα σας
Εκπαιδευτικό Σενάριο Μάθημα: Κτιριακά Έργα Τάξη: Β’ ΕΠΑΛ Εισηγητές: Μερτίκα Ευθυμία Ράζου Δέσποινα ΜΟΡΦΕΣ ΚΑΙ ΕΙΔΗ ΚΤΙΡΙΩΝ.
Προγραμματισμός Εφαρμογών Διαδικτύου
Βασικά Web εργαλεία και τεχνολογίες
Διευθύνσεις και Πρωτόκολλα στο διαδίκτυο
Client Side Προγραμματισμός Javascript
Εργασία στο μάθημα «Προγραμματισμός ΙΙ»
HTML.
Web Services στη C# Εργαστήριο 3
10.1 Υπηρεσίες και εφαρμογές Διαδικτύου
9.3 υπηρεσίες του Διαδικτύου
Ο Παγκόσμιος Ιστός – Εισαγωγή στην έννοια του Υπερκειμένου
Πληροφοριακό σύστημα Πληροφοριακό Σύστημα μιας επιχείρησης/οργανισμού είναι ένα σύστημα που αποτελείται από ανθρώπους, διαδικασίες και εξοπλισμό (Υλικό,
ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΩΝ ΕΦΑΡΜΟΓΩΝ
Server-side vs Client-side
Εισαγωγή Ζούμε σε μια online εποχή όπου τα περισσότερα γίνωνται με τη χρήση Η/Υ. Με την διάδοση του internet έχουν δημιουργηθεί νέες τεχνολογίες και.
Υπηρεσίες Διαδικτύου.
Πλοήγηση στο Διαδίκτυο
ΕΝΟΤΗΤΑ 4 – Κεφάλαιο 12: Ο Παγκόσμιος Ιστός – Εισαγωγή στην έννοια του Υπερκειμένου (σελίδες 78-83) Λέξεις Κλειδιά: Διαδίκτυο, Παγκόσμιος Ιστός (World.
Μεταγράφημα παρουσίασης:

AJAX Asynchronous JavaScript and XML Θ. Βαρβαρίγου Καθηγ. ΕΜΠ Τηλ

AJAX AJAX είναι ένα νέο “trend” στο δικτυακό προγραμματισμό. –Είναι συνδυασμός client και server side προγραμματισμού. AJAX = Asynchronous JavaScript and XML Δεν πρόκειται για νέα γλώσσα αλλά τεχνική για γρήγορες αποδοτικές και πλήρως διαδραστικές εφαρμογές. Μέσω του XMLHttpRequest object ο JavaScript κώδικας που τρέχει στο browser μπορεί να επικοινωνεί με το server. Υπάρχουν αρκετές έτοιμες βιβλιοθήκες διαθέσιμες ανάλογα με το σκοπό: –πχ Google maps –οι οποίες είναι κυρίως κώδικας JavaScript. 2/3/2009Δικτυακός Προγραμματισμός2

Χρησιμότητα Αυξάνει τη λειτουργικότητα και τις δυνατότητες των web εφαρμογών Μπορούμε να έχουμε Rich Internet Applications χωρίς Flash Εξοικονόμηση Bandwidth –Κατεβάζουμε μόνο τα δεδομένα που θέλουμε. Ασύγχρονη επικοινωνία με το Server 2/3/2009Δικτυακός Προγραμματισμός3

Μειονεκτήματα Χαλάει το “back button support”. Τα URLs δεν αλλάζουν καθώς αλλάζει η σελίδα. Μπορεί να υπάρχει ασυμβατότητα μεταξύ των browsers. Η Javascript μπορεί να καταναλώνει πολύ υπολογιστική ισχύ (ειδικά σε παλιότερους υπολογιστές). Η Javascript μπορεί να είναι απενεργοποιημένη για λόγους ασφαλείας και επομένως η εφαρμογή να μη λειτουργεί. Το Debugging είναι αρκετά δύσκολο. 2/3/2009Δικτυακός Προγραμματισμός4

XMLHttpRequest Παραδοσιακά, για να ανακτήσουμε ή να στείλουμε πληροφορία από ή προς τον server έπρεπε να έχουμε φόρμες, και να παρουσιάσουμε τα αποτελέσματα σε μια νέα σελίδα. Η διαδικασία απλοποιείται με το XMLHttpRequest μέσω το οποίου η Javascript μπορεί να επικοινωνήσει με το server χωρίς να απαιτείται να φορτωθεί πάλι η σελίδα. Είναι ένα object που υποστηρίζεται από όλους τους σύγχρονους browsers (Internet Explorer, Firefox, Chrome, Opera, and Safari). –Δυστυχώς όχι πάντα με τον ίδιο τρόπο… 2/3/2009Δικτυακός Προγραμματισμός5

Κύριες Ιδιότητες του XMLHttpRequest readyState –0 = UNINITIALIZED όταν δεν το έχουμε καλέσει ακόμη –1 = LOADING έχει αρχικοποιηθεί το request –2 = LOADED έχει γίνει το request –3 = INTERACTIVE πραγματοποιείται λήψη των δεδομένων –4 = COMPLETED ολοκληρώθηκε responseText –το response σαν κείμενο ή null αν το υπάρχει λάθος ή το readystate < 3 responseXML –το response σαν DOM Document object ή null αν το υπάρχει λάθος ή το readystate < 3 onreadystatechange –Διατηρεί το όνομα της συνάρτησης που θα καλείται κάθε φορά που αλλάζει το readyState 2/3/2009Δικτυακός Προγραμματισμός6

Κύριες Μέθοδοι του XMLHttpRequest open(method, url, async) –Αρχικοποιεί ένα XMLHttpRequest –Το method μπορεί να είναι GET, POST –Το url που θα γίνει το request –Το async είναι boolean που δείχνει αν το request θα σταλεί asynchronously Το default είναι true send(body) –Στέλνει το request –To body είναι null εάν χρησιμοποιούμε GET abort() –Ακυρώνει το request 2/3/2009Δικτυακός Προγραμματισμός7

Δημιουργία XMLHttpRequest Για σύγχρονους browsers: –xmlhttp=new XMLHttpRequest() Για ΙΕ5 ή ΙΕ6 –xmlhttp=new ActiveXObject("Microsoft.XMLHTTP") Επομένως για να καλύψουμε και τις δύο περιπτώσεις: … if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } … 2/3/2009Δικτυακός Προγραμματισμός8

Για συγχρονισμένη κλήση Έστω ότι θέλουμε να αλλάξουμε την τιμή του html element με id=“test”με τα περιεχόμενα ενός αρχείου που υπάρχει στο server μόλις πατηθεί ένα button. Θα δημιουργήσουμε μια συνάρτηση που θα «φορτώνει» το αρχείο. Έστω: loadDoc() To html element (div): Click to let AJAX change this text Το button: Στο head: function loadDoc(url) { //μόνο γιο ΙΕ7+, Μοzilla, Opera klt… xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET",url,false); xmlhttp.send(null); document.getElementById('test').innerHTML=xmlhttp.responseText; } 2/3/2009Δικτυακός Προγραμματισμός9

Για συγχρονισμένη κλήση - Παράδειγμα function loadDoc(url) { //μόνο γιο ΙΕ7+, Μοzilla, Opera klt… xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET",url,false); xmlhttp.send(null); document.getElementById('test').innerHTML=xmlhttp.responseText; } Click to let AJAX change this text 2/3/2009Δικτυακός Προγραμματισμός10

Για Ασύγχρονη κλήση (1) Για ασύγχρονη κλήση θα πρέπει να ελέγχουμε την κατάσταση του request μέσα από τη μεταβλητή readyState. Η πιο απλή λύση είναι να δημιουργήσουμε μια νέα συνάρτηση (έστω onComplete) που θα καλείται όταν αλλάζει κατάσταση η readyState. function onComplete() { if (xmlhttp.readyState==4) { // 4 = "loaded“ document.getElementById(' test ').innerHTML=xmlhttp.responsetext; } 2/3/2009Δικτυακός Προγραμματισμός11

Για Ασύγχρονη κλήση - Παράδειγμα function loadDoc(url) { xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=onComplete; xmlhttp.open("GET",url,true); xmlhttp.send(null); } function onComplete() { if (xmlhttp.readyState==4) { document.getElementById('test').innerHTML= xmlhttp.responseText; } …. Click to let AJAX change this text 2/3/2009Δικτυακός Προγραμματισμός12

Συνέχεια… Στο εργαστήριο θα συνδυάσουμε AJAX με Java και βάσεις δεδομένων. –AJAX: Παρουσίαση –Java (JSPs/Sevlerts): Επεξεργασία των δεδομένων –Database: Αποθήκευση των δεδομένων 2/3/2009Δικτυακός Προγραμματισμός13

Ερωτήσεις 2/3/2009Δικτυακός Προγραμματισμός14