Introduction à Ajax. CNAM le 2013 O. Pons S. Rosmorduc



Documents pareils
DOM - Document Object Model

Rafraichissement conditionné d'une page en.net

Ajax, RIA et HTML Prise en charge d Ajax

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Démarrer avec Ajax et le php: exemple d'application

Programmation Web. Madalina Croitoru IUT Montpellier

CHAPITRE 11. Temps réel Remy Sharp

Sécurité des applications web. Daniel Boteanu

TP JAVASCRIPT OMI4 TP5 SRC

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Document Object Model (DOM)

Module http MMS AllMySMS.com Manuel d intégration

(structure des entêtes)

Application Web et J2EE

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Programmation Web. Introduction

Panel des technologies Web

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

L3 informatique TP n o 2 : Les applications réseau

Dans l'article précédent, vous avez appris

Comment créer son propre monitoring. (Version simple PHP)

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Démonstration de la mise en cache via HTML 5 sur iphone

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Résoudre les problèmes PHP, les meilleures (et les pires) techniques

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Stockage du fichier dans une table mysql:

Alfstore workflow framework Spécification technique

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

Documentation CAS à destination des éditeurs

SYSTÈMES D INFORMATIONS

Aspects techniques : guide d interfaçage SSO

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Keyyo Guide de mise en service CTI / API / TAPI Keyyo

Les services usuels de l Internet

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

AWS avancé. Surveiller votre utilisation d EC2

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Application de lecture de carte SESAM-Vitale Jeebop

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Le serveur HTTPd WASD. Jean-François Piéronne

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Un jour, une question Réponse à une problématique issue de la liste GTA *

Architecture Orientée Service, JSON et API REST

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Pratique et administration des systèmes

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Le stockage local de données en HTML5

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Dojo Toolkit. Créer des applications AJAX/RIA en JavaScript. Thomas Corbière

Développement des Systèmes d Information

API SMS HTTP REST. Intégrer facilement le service Envoyer SMS Pro avec votre application métier. Version : Révision : 03/09/2014 Page 1/31

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Master1 ère année. Réseaux avancés I. TP nº5 filière ISICG

Documentation API Octopush

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

Protocoles Applicatifs

Sécuriser les applications web de l entreprise

FAQ Trouvez des solutions aux problématiques techniques.

CREATION d UN SITE WEB (INTRODUCTION)

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

Attaques de type. Brandon Petty

Jean-Pierre VINCENT Consultant indépendant

Livret 1 Poste de travail de l utilisateur :

Développement Web. Les protocoles

Manuel d installation de Business Objects Web Intelligence Rich Client.

Introduction à la Programmation Parallèle: MPI

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

HTML. Google Maps. Approfondir. 3 :HIKONB=^UZ^Z]:?k@l@g@h@a"; Codez une fois, déployez sur Android, ios, Kindle... Smartphones. Matériel.

TelSurvey Système CATI pour LimeSurvey 11 novembre Manuel administrateur

Petite définition : Présentation :

Paramétrage des navigateurs

Gestion du cache dans les applications ASP.NET

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

Programmation Internet Cours 4

Vous pouvez désormais consulter les textes signés par la DILA, le rechargement du code Applet se fera automatiquement.

La base de données XML exist. A. Belaïd

Hébergement de site web Damien Nouvel

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

Introduction. Passage de sites statiques à des sites dynamiques

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

Projet de programmation (IK3) : TP n 1 Correction

Passerelle EnOcean IP avec services Cloud

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Failles des applications Web. Ce document est extrait du travail de diplôme de M. DIZON dans l état.

Transcription:

2013 Introduction à Ajax CNAM le 2013 O. Pons S. Rosmorduc 1 / 18

Principe général de fonctionnement Faire des requettes http sans avoir recharger une page entiere. Communication de javascript avec les serveurs Ajout de l objet (la classe) XMLHttpRequest a Javascript Asynchonous Javascript And XML 2 / 18

creation d un object XMLHttpRequest Créer un object pour chaque requete http. (historique) different selon le selon le navigateur Avec des if if (window.xmlhttprequest) //XMLHttpRequest est un objet //de la fenêtre courant { xhr = new XMLHttpRequest(); // tous sauf IE<7, Firefox, Safari,... } else if (window.activexobject) // Version Active { xhr = new ActiveXObject("Microsoft.XMLHTTP"); // IE } 3 / 18

creation d un object XMLHttpRequest Avec des try try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); // essayer IE } catch(e) // si Echec c est pas IE { xhr = new XMLHttpRequest() } 4 / 18

Utilisation d XMLHttpRequest Une fois l object creer : la methode open permet d ouvrir une connection la methode send permet d envoyer une requete apres la requete l object contient (entre autre) le code de retour le document resultant de la requete 5 / 18

Example trivial <head><title> exemple</title> <script type="text/javascript"> function exemple1(){ var req = new XMLHttpRequest(); alert(req); req.open( GET, test.php, false);// req.send(null); alert(req.status); if(req.status == 200) alert(req.responsetext); } </script> </head> <body> <h1 onclick= exemple1() >clic moi pour tester</h1> <h1 onclick= alert("debloque") >bloque</h1> </body> 6 / 18

Les méthodes open (Méthode, URL, type) GET, POST URL (un même domaine) true ou false : asynchrone(true) ou synchrone(false) send (argument) abort null data : unnom=unevaleur&autrenom=autrevaleur&etencore=uneautre getresponseheader(header) setrequestheader(header, value) si méthode POST changer le MIME : httprequest.setrequestheader( Content-Type, application/x-www-form-urlencoded ); 7 / 18

Les attributs status (200, 404... ) statustext (OK, not found... ) responsetext : du text responsexml : du xml readystate onreadystatechange 8 / 18

Asynchrone L exemple était synchrone, donc bloquant si réponse immédiate et traitement court : <?php?> echo "on a fini..." si traitement long cote serveur <?php?> sleep(30); /attendre 30 secondes echo "on a fini..." 9 / 18

Asynchrone m attend pas la réponse pour continuer son exécution, doit pouvoir connaître l état de traitement de la requête : readystate doit être prévenue des changement et décider quoi faire onreadystatechange 10 / 18

readystate Les états de readystate : 0 : non initialisé. 1 : connexion établie. 2 : requête reçue. 3 : réponse en cours. 4 : terminé. (le plus utile) 11 / 18

onreadystatechange onreadystatechange=functiondetraitement 12 / 18

exemple 2 <head><title> exemple </title> <script type="text/javascript"> function exemple2(){ var req = new XMLHttpRequest(); alert(req); req.onreadystatechange=function(){ if(req.readystate == 4){ alert(req.status); if(req.status == 200) alert(req.responsetext); }} req.open( GET, test.php,true);// req.send(null);} </script> </head> <body> <h1 onclick= exemple2() >clic moi pour tester</h1> <h1 onclick= alert("pas bloque") >pas bloque</h1> </body> 13 / 18

Javascript via le DOM via innerhtml 14 / 18

Exemple <head><title> exemple </title> <script type="text/javascript"> function exemple2(){ var req = new XMLHttpRequest(); alert(req); req.onreadystatechange=function(){ if(req.readystate == 4){ alert(req.status); if(req.status == 200) document.getelementbyid("unid").innerhtml= req.responsetext;}} req.open( GET, test.php,true);// req.send(null);} </script> </head> <body> <h1 onclick= exemple2() >clic moi pour tester</h1> <div id="unid"></div> </body> 15 / 18

XML <?xml version="1.0" encoding="iso-8859-1"?> <catalog> <cd> <title>empire burlesque</title> <artist>bob Dylan</artist> <country>usa</country> <company>columbia</company> <year>1985</year> </cd> <cd> <title>hide your heart</title> <artist>bonnie Tyler</artist> <country>uk</country> <company>cbs records</company> <year>1988</year> </cd> </catalog> 16 / 18

XML <html><head><title> exemple </title> <script type="text/javascript"> function exemple3(){ var req = new XMLHttpRequest(); alert(req); req.onreadystatechange=function(){ if(req.readystate == 4){ if(req.status == 200) var xmldoc = req.responsexml; var root_node = xmldoc.getelementsbytagname( artist ).item(0); alert(root_node.firstchild.data);}} req.open( GET, catalog.xml,true);// req.send(null);} </script></head><body> <h1 onclick= exemple3() >clic moi pour tester</h1> </body></html> 17 / 18

JQuery $.ajax({ "url": "test.php", "type":"get", "datatype": "text", "error" : function(request, error) { // Info Debug alert("erreur : responsetext: "+request.re }, "success": function(data) { alert(data); }); } 18 / 18