Applicazioni web. Parte 8 AJAX

Documenti analoghi
A. Ferrari. Ajax. Asynchronous JavaScript and XML. Alberto Ferrari

definizione o Asynchronous JavaScript and XML (AJAX)

AJAX (Asynchronous JavaScript and XML)

AJAX. Riccardo Rosati

AJAX. Riccardo Rosati

Sommario. Introduzione a AJAX - Asynchronous Javascript And Xml. Motivazioni (1) XHTML e HTTP sono strumenti deboli

Ajax e jquery. Emiliano Castellina. Dipartimento di Automatica e Informatica Politecnico di Torino

INTRODUZIONE AI PRINCIPI DELLO SVILUPPO DI APPLICAZIONI WEB INTERATTIVE

Web Application Engineering Ajax & JSF

AJAX. Asynchronous JavaScript and XML

Introduzione ad AJAX

La tecnica AJAX. Progettazione di Sistemi Interattivi. Implementazione di sistemi interattivi web-based (seconda parte) Esempio: Google Maps

Introduzione a AJAX - Asynchronous Javascript And Xml

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0

Ajax. Introdotta da Microsoft nel 1998 è stata standardizzata e adottata da tutti i browser moderni.

Ajax. Pasqualetti Veronica

Analisi di strumenti e tecniche per lo sviluppo di applicazioni Ajax.

Corso di Applicazioni Telematiche

1 Leggere un file con Javascript

Realizzare una piccola chat in php senza database

Seminario Introduzione ad Ajax

AJAX e altre applicazioni di Javascript. Luca Fabbri

Linguaggi per il Web Ingegneria Informatica, Ingegneria dell'informazione, Sapienza Università di Roma, sede di Latina 21 Maggio 2018 Corrado Di

Ajax è il nome nuovo introdotto dal web 2.0, ma non si tratta di un nuovo linguaggio di. Javascript and XML

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

Anno Accademico Laboratorio di Tecnologie Web AJAX

Esercitazione su AJAX

La tecnica AJAX. Progettazione di Sistemi Interattivi. Implementazione di sistemi interattivi web-based (seconda parte) Esempio: Google Maps

Applicazioni web. Parte 4 AJAX

Alma Mater Studiorum Università di Bologna Scuola di Ingegneria e Architettura. Tecnologie Web T A.A Esercitazione 06 - AJAX

Alma Mater Studiorum Università di Bologna Scuola di Ingegneria e Architettura. Tecnologie Web T A.A Esercitazione 06 - AJAX

AJAX. Recap. ! Ci sono domande?! Esame! Proponete esercizi sui temi del corso e condividiamo le soluzioni

Alma Mater Studiorum Università di Bologna Scuola di Ingegneria. Tecnologie Web T A.A Esercitazione 06 - AJAX

Applicazioni web-based. Progettazione di Sistemi Interattivi. Implementazione di sistemi interattivi web-based (prima parte) Gli Standard Web

/E / + D O D M O + C S C S) S

Sviluppare applicazioni Web 2.0 con Ajax

Programmazione Web. Javascript.

JavaScript. Caratteristiche del JavaScript. Javascript consente di rendere dinamiche le pagine HTML

DOM (Document Object Model) manipolato attraverso un linguaggio ECMAScript come JavaScript o JScript per mostrare le informazioni ed interagirvi;

1. (6 punti) Spiegare il significato, in modo dettagliato, del pezzo di codice seguente di una servlet:

HTML. Linguaggio testuale formato da TAG, che consente il collegamento tra diversi file.

REDATTO DA MAURIZIO PROIETTI RELAZIONE PER IL CORSO DI TELEMATICA U N I V E R S I T À D E G L I S T U D I D I F I R E N Z E, 3 0 / 0 3 /

Architetture Client/Server e World Wide Web

Basi di Dati Jvascript, AJAX

WEB2.0 e AJAX. Il Web è già cambiato. LIL: Laboratorio di Informatica Libera Centro Oltre e Altro P.zza Matteotti, 14 Siena

Introduzione alla programmazione lato client con Javascript

MODULO 2 PARTE 5.b. Programmare sul Web 2.0 AJAX. Goy - a.a. 2012/2013 Programmazione Web 1. Il contesto: Web 2.0

Dott.Ing.Ivan Ferrazzi. XML e AJAX. Introduzione ai concetti base. Dott. Ing. Ivan Ferrazzi V1.2 del 15/01/2014 1/20

Ajax. Home Page del corso: Versione elettronica: 3.05.Ajax.pdf Versione elettronica: 3.05.Ajax-2p.

Ajax. Home Page del corso: Versione elettronica: 3.05.Ajax.pdf Versione elettronica: 3.05.Ajax-2p.

Politecnico di Milano Facoltà del Design Bovisa. Ing. Marco Funaro Dipartimento di Elettronica e Informazione.

Prof. Pagani Corrado JAVASCRIPT DOCUMENT OBJECT MODEL

Tesi di Laurea: Uno strumento per l estrazione di sessioni utente per applicazioni web JavaScript-based Anno Accademico: 2005/2006

Dal sito web all applicazione mobile

Introduzione alla programmazione orientata agli oggetti

Javascript: il browser

LE GUIDE TURISTICHE. Progetto realizzato per l'esame di Laboratorio e Progettazione Web Corso di Laurea in Informatica Umanistica.

Gioco. credits: h+p:// to- make- a- simple- html5- canvas- game/

Programmazione ad oggetti (cenni)

Università degli Studi di Napoli Federico II

LAB 6 MIGRAZIONE AD ANGULARJS

Livello applicazione. Fondamenti di Informatica

Javascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin

Corso di Tecnologie Web Prof.ssa Anna Goy - WEB 2.0 e AJAX

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script

La GUI di Genropy. La GUI di Genropy

AJAX. Uso di responsexml

LEZIONE 5. Introduzione a Javascript

Prof. Pagani Corrado JQUERY

JQuery. <script src=" </script> <script src= js/main.

Indice generale. Introduzione...xiii. Uno sguardo più da vicino a JavaScript...17

Funzioni in Javascript. Univ. Della Tuscia, Fac. Scienze Politiche

Internet: cenni su struttura e funzionamento.

Events: Track your favorite artists

Laboratorio di Basi di Dati

Javascript: il browser

Linguaggi di Programmazione

CatOnE. Il catasto facile per la pubblica amministrazione disponibile su piattaforma fissa e mobile per tablet e laptop

Tecnologie informatiche multimediali

Laboratorio Progettazione Web Modello di applicazione Web

Sviluppo Web con Vue.js

Uso dei cookie. Informativa estesa sull uso dei cookie

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script

D B M G Il linguaggio HTML

Programmazione Web D B M G. Il linguaggio HTML

Informativa estesa uso dei Cookie

BENVENUTO IN NUVOLA. Indice Del Manuale. 1 - Come Accedere a Nuvola

IL LIVELLO APPLICAZIONI WEB e HTTP

HTML5 - Espresso - con CSS3 e ECMAScript5. Daniele Bochicchio, Matteo Casati, Cristian Civera, Riccardo Golia, Stefano Mostarda

Collaborazioni on-line

Tecnologie di Sviluppo per il Web

Basi di Dati Architetture Client/Server

* L'unico consiglio è di trovarne una che non sia troppo piccola altrimenti potrete avere problemi nella disposizione dei componenti.

INFORMATIVA SULL'USO DEI COOKIE

INFORMATIVA ESTESA SULL USO DEI COOKIE

PROGRAMMA DEL CORSO MASTER IN WEB DESIGN & DEVELOPER

Transcript:

Applicazioni web Parte 8 AJAX Alberto Ferrari 1 AJAX - Definizione Asynchronous JavaScript and XML (AJAX) non è di per sè una tecnologia, ma è un termine che descrive un "nuovo" approccio all'utilizzo di diverse tecnologie esistenti, compresi: HTML o XHTML, CSS, JavaScript, DOM, XML, XSLT e l'oggetto XMLHttpRequest. Grazie all'utilizzo di queste tecnologie in combinazione con il modello AJAX, le applicazioni web possono eseguire aggiornamenti rapidi e incrementali dell'interfaccia utente senza ricaricare nel browser l'intera pagina. Questo rende l'applicazione più performante e più reattiva alle azioni dell'utente. https://developer.mozilla.org/it/ajax Alberto Ferrari 2 Alberto Ferrari 1

AJAX AJAX è uno strumento di sviluppo per la realizzazione di applicazioni web interattive (Rich Internet Application). La tecnologia AJAX si basa su uno scambio di dati in background fra web browser e server, che consente l'aggiornamento dinamico di una pagina web senza esplicito ricaricamento da parte dell'utente. La richiesta è asincrona: non si deve attendere che sia ultimata per effettuare altre operazioni. Normalmente le funzioni richiamate sono scritte con il linguaggio JavaScript. AJAX è una tecnica multi-piattaforma. Alberto Ferrari 3 Caratteristiche Sfrutta l oggetto XMLHttpRequest. Offre la possibilità di interpretare e lavorare con i documenti XML Reso popolare da Google, a partire dal 2005. Utilizzato in Google Maps, Gmail... Il vantaggio di usare AJAX è la grande velocità alla quale un'applicazione risponde agli input dell'utente. Alberto Ferrari 4 Alberto Ferrari 2

Richiesta HTTP La richiesta HTTP al server utilizza un'istanza di una classe. Questa classe è stata introdotta originariamente in Internet Explorer come oggetto ActiveX e si chiamava XMLHTTP. Successivamente Mozilla, Safari e altri browser hanno implementato la classe XMLHttpRequest, che supporta gli stessi metodi e le stesse proprietà della classe di Microsoft. Alberto Ferrari 5 Come fare Per creare un oggetto per la richiesta http occorre scrivere codice diversificato per i diversi browser if (window.xmlhttprequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); else if (window.activexobject) { // IE http_request = new ActiveXObject("Microsoft.XMLHTTP"); Alberto Ferrari 6 Alberto Ferrari 3

Stabilire cosa fare con la risposta inviata dal server Bisogna dire all'oggetto XMLHttpRequest quale funzione JavaScript elaborerà il codice XML. Questo si fa impostando la proprietà onreadystatechange dell'oggetto con il nome della funzione JavaScript. http_request.onreadystatechange = nomefunzione; In questo modo si sta assegnando un riferimento i alla funzione, non la si sta ancora chiamando. Alberto Ferrari 7 Inviare la richiesta al server Per inviare la richiesta bisogna chiamare i metodi open() e send() http_request.open('get', 'http://www.nomeserver.org/qualsiasi.file', true); http_request.send(null); open Parametro 1: metodo : GET, POST, HEAD o qualsiasi altro metodo che si desideri utilizzare (scritto in lettere MAIUSCOLE). Parametro 2: URL (non è possibile chiamare pagine che si trovino su un dominio differente da quello in cui si trova la pagina corrente). Parametro 3: true per richiesta asincrona, false sincrona send Il parametro è costituito dai dati che si vogliono inviare al server se la richiesta è di tipo POST. Alberto Ferrari 8 Alberto Ferrari 4

Come gestire la risposta del server La funzione deve controllare lo stato della richiesta. Se lo stato ha un valore di 4, significa che la risposta è stata ricevuta per intero. if (http_request.readystate == 4) { // tutto ok, la risposta è stata ricevuta else { // non ancora pronto Bisogna poi controllare il codice di stato della risposta http: il codice 200 è OK. if (http_request.status == 200) { // bene! else { // problema nella richiesta, Alberto Ferrari 9 Come accedere ai dati ricevuti http_request.responsetext responsetext restituisce la risposta sotto forma di stringa di testo http_request.responsexml restituisce la risposta sotto forma di oggetto XMLDocument che si può navigare tramite le funzioni DOM. Alberto Ferrari 10 Alberto Ferrari 5

Cosa fare con i dati ricevuti Selezionare un elemento della pagina getelementbyid(string) è un metodo importantissimo del DOM. Permette di selezionare un elemento mediante il suo id. Comportamento differente dei vari browser. Modificare il valore dell elemento innerhtml proprietà che permette di ottenere o modificare il testo e le caratteristiche di un nodo. Alberto Ferrari 11 getelementbyid function prendielementodaid(id_elemento) { var elemento; // elemento da restituire i // se esiste il metodo getelementbyid if(document.getelementbyid) elemento = document.getelementbyid(id_elemento); // altrimenti: vecchio sistema else elemento = document.all[id_elemento]; // restituzione elemento return elemento; Alberto Ferrari 12 Alberto Ferrari 6

getelementbyid esempio d uso Esempio function cambiacolore(nuovocolore) { elem = document.getelementbyid("paragrafo1"); elem.style.color = nuovocolore; Alberto Ferrari 13 innerhtml La proprietà innerhtml permette di ottenere o modificare il testo e le caratteristiche di un nodo. Alberto Ferrari 14 Alberto Ferrari 7

innerhtml - esempio Cambiare dinamicamente un link function cambialink() { document.getelementbyid('miolink').innerhtml= sito"; document.getelementbyid( miolink').href="http://www.sito.com"; document.getelementbyid(miolink').target="_blank"; Alberto Ferrari 15 Esempi Esempio 01 Visualizzazione di dati presenti sul server in un file di testo Esempio 02 Analogo al precedente ma richiedendo un file XML Esempio 03 Uso di innerhtml Esempio 04 Tooltip Alberto Ferrari 16 Alberto Ferrari 8