Asynchronous JavaScript and XML

Slides:



Advertisements
Presentazioni simili
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Advertisements

Interazione avanzata su web: dai plugin ad Ajax
Introduzione a AJAX - Asynchronous Javascript And Xml
Interazione di JavaScript e HTML
Lezione 8.
Ajax.ptt 1 Asynchronous JavaScript and XML cross-browser XMLHttpRequest()standard w3c firefox,opera,gchrome ActiveXObject("Microsoft.XMLHTTP") ActiveXObject("Msxml2.XMLHTTP")
Laboratorio di Servizi Web - servlet - Ardissono 1 Chiarimenti su Servlet Note aggiuntive su architettura di applicazione web che usa Servlet per gestire.
Eprogram informatica V anno.
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Web Application Engineering Ajax & JSF Web Application Engineering Ajax & JSF cristian lucchesi IIT-CNR Pescara, Maggio 2007.
JUG – Ancona Italy AJAX Giovanni Baleani Developer IBS srl.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
1 Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
CSS ( Cascading Style Sheets) Fogli di Stile Linguaggi di formattazione stilistica e strutturale di un documento HTML o di una serie di documenti in cascata.
Presentazione della piattaforma e - learning MOODLE a cura di Davide Afretti Bologna, 24 aprile 2013.
H T M L Hyper Text Markup Language L' HTML è un linguaggio di markup usato per la creazione di documenti ipertestuali sotto forma di pagine web.
Dati in rete Appunti.
Dove vuoi andare questa estate?
Scheda di riferimento rapido per
Corso per Webmaster base
IL SOFTWARE (FPwin 6.0).
“Vivere insieme” – Lezione6
Lato Server - OMNIS Web Web Services.
“Vivere insieme” – Lezione6
Crea il tuo sistema aziendale sul web a partire dei fogli Excel che usi. ShareXLS
La comunicazione scritta
“Lenuove tecnologie” – Lezione2
Accedere su Google e aprire l’App Drive cliccando sul pulsante :::
VISUAL BASIC.
Tutor: prof. Franco Gualtieri 2° parte
EasyGraph Dynamic web-based dashboard
PROGETTO DI RETI DI CALCOLATORI L-S
PNSD - Modulo D1A 27 aprile 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
IL PORTALE ELLY SCUOLA: COME ESEGUIRE IL LOGIN
Editing digitale della partitura Creazione di plugin
Paradigma MVC Ing. Buttolo Marco.
Le postcondizioni specificano l’output della funzione.
Corso di Ingegneria del Web e Applicazioni A A
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
I tag essenziali.
SAS® OnDemand for Academics SAS Studio
Sviluppo di un'applicazione web per l'utilizzo del framework SparkER
Sala di Videoconferenza … quale strumento usare ?
Internet.
Corso di Ingegneria del Web A A Domenico Rosaci 1
Access.
Gestione Griglie nel Form Designer
Claudio Rocchini - Interfacce
Come personalizzare il sito Web online di Microsoft SharePoint
HTML IL TAG .
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
HTML IL TAG .
2. JavaScript nelle pagine web
JavaScript 6. Oggetti e JavaScript A. Ferrari.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
DOM Document Object Model.
comprensione e modifica di codice
8. Altri oggetti JavaScript
Fogli elettronici e videoscrittura
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
UNIVERSITÀ DI MODENA E REGGIO EMILIA
Hyper Text Mark-Up Language
JavaScript 3. Le basi di JavaScript A. Ferrari.
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
Docente: Sabato Bufano
Digitare qui i dettagli dell'evento
CLOUD.
Transcript della presentazione:

Asynchronous JavaScript and XML Ajax Asynchronous JavaScript and XML Alberto Ferrari

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

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

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

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

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

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 alla funzione, non la si sta ancora chiamando. Alberto Ferrari

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

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! // problema nella richiesta, Alberto Ferrari

Come accedere ai dati ricevuti http_request.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

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

getElementById function prendiElementoDaId(id_elemento) { var elemento; // elemento da restituire // 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

getElementById esempio d’uso function cambiaColore(nuovoColore) { elem = document.getElementById("paragrafo1"); elem.style.color = nuovoColore; } Alberto Ferrari

innerHTML La proprietà innerHTML permette di ottenere o modificare il testo e le caratteristiche di un nodo. Alberto Ferrari

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

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