Introduzione a AJAX - Asynchronous Javascript And Xml

Slides:



Advertisements
Presentazioni simili
Guida Pratica Prof. Carla Fanchin
Advertisements

Active Server Pages ed ADO. Scrivere ASP Le pagine ASP possono contenere codice HTML o XML Le parti del documento che racchiudono codice script vanno.
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
JavaScript 6. Oggetti e JavaScript. Linguaggio ad oggetti JavaScript è un linguaggio orientato agli oggetti In JavaScript sono presenti oggetti predefiniti.
JavaScript 1. Per cominciare.
Applet Java.
(Appunti da Scott Mitchell, James Atkinsons - Active Server Pages 3.0 – ed. Apogeo) Le pagine ASP.
PHP.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
IL LINGUAGGIO HTML Il linguaggio html. Il linguaggio html. Utilizzo dei tag. Utilizzo dei tag. Script Browser I link I link Caricamento dei dati sul server.
Web Services.
Java Enterprise Edition (JEE)
Laboratorio di Progettazione Web Introduzione AA 2009/2010 Chiara Renso ISTI - CNR -
UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Università La Sapienza Web programming e programmazione multimediale 1 Web Programming e comunicazione multimediale Lezione 10: PHP.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
JAVASCRIPT DIFFERENZA TRA JAVASCRIPT E JAVA TAG LO SCRIPT OGGETTI LE CLASSI FUNZIONE GESTORE DI EVENTI ELEMENTI DEL LINGUAGGI è un vero e proprio linguaggio.
Interazione avanzata su web: dai plugin ad Ajax
UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della.
Specifiche senza JML: uso delle asserzioni. 2 Asserzioni in Java Dal jdk 1.4 (da Febbraio 2002) cè meccanismo per gestire asserzioni Asserzione: espressione.
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A
Introduzione ad ASP.net
Architettura Java/J2EE
Realizzazione siti web Pagine web dinamiche - javascript.
Corso di PHP.
Ing. Enrico Lecchini BetaTre S.r.l.
Social network Internet. Eun sito web di reti sociali, ad accesso gratuito. È il secondo sito più visitato al mondo, preceduto solo da Google. Il.
Javascript: fondamenti, concetti, modello a oggetti
Come funziona il PHP.
Guida IIS 6 A cura di Nicola Del Re.
HTML Creazione di moduli Prof.ssa Daniela Decembrino.
Sistemi Informativi sul Web
Gianpaolo Cecere Introduzione
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
INTRODUZIONE A JAVASCRIPT
Corso di WebMaster Mercoledì 14 Novembre. Parte I – Introduzione al Corso Lezione 1: Presentazione Descrizione Breve del Corso Semplice Valutazione.
TROVA FILM Progetto di Tecnologie Web anno accademico 2013/2014 DEL VECCHIO GIANLUCA IOVINO PASQUALE
Lezione 8.
programmazione ad oggetti
Relatore Prof. Marco Porta Correlatore Prof. Luca Lombardi
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
JavaScript Generalità Cos'è JavaScript?
Creato da Riccardo Nuzzone
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Introduzione a Javascript
Programmazione Web Presentazione del corso /2015.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Ajax.ptt 1 Asynchronous JavaScript and XML cross-browser XMLHttpRequest()standard w3c firefox,opera,gchrome ActiveXObject("Microsoft.XMLHTTP") ActiveXObject("Msxml2.XMLHTTP")
Analisi dettagliata e design
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Laboratorio di Servizi Web - servlet - Ardissono 1 Chiarimenti su Servlet Note aggiuntive su architettura di applicazione web che usa Servlet per gestire.
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Google Visualization API
Servizi Internet Claudia Raibulet
JavaScript Linguaggio definito da Netscape JScript: la versione MicroSoft (basata su ECMAScript) Serve ad arricchire una pagina HTML con codice da eseguirsi.
Lezione 6: Form.  In alcuni documenti HTML può essere utile creare dei moduli (form) che possono essere riempiti da chi consulta le pagine stesse (es.
Eprogram informatica V anno.
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Javascript. HTML per definire il contenuto delle pagine web CSS per specificare il layout delle pagine web JavaScript per definire il comportamento delle.
Corso Web Developer Lezione 2 – HTML e ASP. I limiti delle pagine HTML Nella lezione precedente abbiamo visto che con HTML e JavaScript è possibile scrivere.
Eprogram informatica V anno. Programmare in rete.
ASP – Active Server Pages - 1 -Giuseppe Tandoi ASP – Active Server Pages Tecnologia per lo sviluppo di pagine dinamiche.
Corso di Ingegneria del Web e Applicazioni A A
Asynchronous JavaScript and XML
Transcript della presentazione:

Introduzione a AJAX - Asynchronous Javascript And Xml

Sommario Motivazioni Cosa è AJAX? Vantaggi Esempi Funzionamento Ajax

Motivazioni (1) XHTML e HTTP sono strumenti “deboli” Scarsa interattività Aggiornamenti per “blocchi a grana grossa” (l’intera pagina web) Per usufruire dei servizi di applicazioni web, gli utenti preferiscono usare il browser anziché specifiche applicazioni Ajax

Motivazioni (2) Altre tecnologie browser-based hanno fallito Java Applets non sono supportate universalmente (ad esempio non interagisce con Html) Flash / Flex non sono supportate universalmente e hanno scarsa capacità ... Ajax

Cos’è AJAX? Asynchronous Javascript And Xml (AJAX): Approccio per sviluppare applicazioni Web Aumenta la dinamicità di pagine web, grazie allo scambio di piccole quantità di dati Permette alle pagine web di cambiare il proprio contenuto senza effettuare refresh dell’intera pagina Tecnologia web indipendente dal software del web server Ajax

Approccio Le richieste del client sono elaborate in modo asincrono Viene aggiornata solo una piccola parte del documento correntemente presentato Ajax

Asynchronous Javascript And Xml (1) le richieste possono essere fatte asincronamente e sincronamente in entrambi i casi le pagine web sono aggiornate senza refresh Javascript: È usato tipicamente sul client Qualsiasi linguaggio sul server Ajax

Asynchronous Javascript And Xml (2) i messaggi di request/response possono contenere XML in generale possono contenere qualsiasi testo Ajax

Vantaggi Migliora la fruibilità della pagina l‘uso della banda utilizzata: sono ottenuti dal server solo I dati strettamente necessari Ajax

Esempi di Successo Google Maps (http://maps.google.com/) My Yahoo! (http://my.yahoo.com/) Ajax

Tecnologie di Base AJAX usa XHTML e CSS per la presentazione DOM aggiornato dinamicamente XML con XSLT, oppure HTML preformattato, testo semplice, … per lo scambio di dati un’istanza della classe XMLHttpRequest, che consente al browser di dialogare in modo asincrono con il server JavaScript, che gestisce il tutto Ajax

Funzionamento (1) AJAX è eseguito all’interno del browser È basato sul protocollo HTTP Trasferisce dati asincronamente tra il browser e il web server (HTTP requests) Le Http requests sono inviate da chiamate a script di JavaScript senza dover effettuare submit di form XML è comunemente usato come formato per ricevere dati dal server Si può usare anche plain text Ajax

Funzionamento (2) Idea di base: JavaScript Definire un oggetto per poter inviare una opportuna HTTP request Ottenere l’oggetto richiesto Definire una opportuna funzione per gestire la response Effettuare una request GET o POST Inviare i dati Gestire la response Ajax

Funzionamento (3) XHTML Caricare JavaScript Definire il control che svolge la request Identificare gli elementi di input che saranno letti dallo script Ajax

Applicazione Web Classica Ajax

Applicazione Web AJAX Ajax

XMLHttpRequest object (1) Un elemento di una pagina chiama una funzione JavaScript La funzione deve creare un oggetto XMLHttpRequest per contattare il server Si deve determinare il client IE, Firefox, Safari, … Se IE allora http = new ActiveXObject("Microsoft.XMLHTTP") Se Mozilla allora http = new XMLHttpRequest() Ajax

XMLHttpRequest object (2) var request; function getRequestObject() { if (window.ActiveXObject) { return(new ActiveXObject("Microsoft.XMLHTTP")); } else if (window.XMLHttpRequest) { return(new XMLHttpRequest()); } else { return(null); } Ajax

Invio della Richiesta (1) Una volta creato, l’oggetto XMLHttpRequest deve essere impostato per poter chiamare il server http.open("GET", serverurl, true); http.onreadystatechange = jsMethodToHandleResponse; http.send(null); L’oggetto XMLHttpRequest è usato per contattare il server e ricevere I dati da questo forniti Ajax

Invio della Richiesta (2) Ottenuta la response, il metodo JavaScript jsMethodToHandleResponse può aggiornare la pagina Ajax

(Send request asynchronously) Initiate Request function sendRequest() { request = getRequestObject(); request.onreadystatechange = handleResponse; request.open("GET", "message-data.html", true); request.send(null); } Response handler function name URL of server-side resource Don't wait for response (Send request asynchronously) POST data (always null for GET) Ajax

Gestione della Response È necessario implementare un metodo JavaScript per gestire la response (Event Handler) function jsMethodToHandleResponse(str) { //simply take the response returned an update an html element with the returned value from the server document.getElementById("result").innerHTML = str; } La pagina ha comunicato con il server senza dover effettuare un refresh completo Ajax

Handle Response function handleResponse() { if (request.readyState == 4) { alert(request.responseText); } Response is returned from server (handler gets invoked multiple times) Pop up dialog box Text of server response Ajax

Proprietà readyState La proprietà readyState di XMLHttpRequest definisce lo stato corrente dell’oggetto XMLHttpRequest Possibili valori di readyState State Description The request is not initialized 1 The request has been setup 2 The request has been submitted 3 The request is in process 4 The request is completed Ajax

Esempio Completo var request; function getRequestObject() { if (window.ActiveXObject) { return(new ActiveXObject("Microsoft.XMLHTTP")); } else if (window.XMLHttpRequest) { return(new XMLHttpRequest()); } else return(null); } function sendRequest() { request = getRequestObject(); request.onreadystatechange = handleResponse; request.open("GET", "message-data.html", true); request.send(null); function handleResponse() { if (request.readyState == 4) { alert(request.responseText); Esempio Completo Ajax

Lato XHTML (1) Usare XHTML, non HTML 4 Per il DOM <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN“ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">...</html> A causa di difetti di IE NON usare l’header XML prima del DOCTYPE Ajax

Lato XHTML (2) Caricare il file JavaScript <script src="relative-url-of-JavaScript-file" type="text/javascript"></script> Usare il tag di fine </script> separato Definire il control per iniziare la request <input type="button" value="button label" onclick="mainFunction()"/> Ajax

Problemi con IE IE non manipola correttamente l’header XML Ogni doc XML deve iniziare con l’header: <?xml version="1.0" encoding="UTF-8"?> Ma IE potrebbe non comportarsi correttamente Ajax

References http://en.wikipedia.org/wiki/Ajax_%28programming%29 http://www.w3schools.com/ajax/default.asp Ajax