GIS and Media fusion

"The explosive growth of the GeoWeb and geographic information has made GIS powerful media for the general public to communicate, but perhaps more importantly, GIS have also become media for constructive dialogs and interactions about social issues." - Sui & Goodchild

User Tools

Site Tools


ajax2:techxhr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ajax2:techxhr [2014/02/20 09:56]
oertz created
ajax2:techxhr [2018/05/16 10:05] (current)
Line 1: Line 1:
 ====== Technique XMLHTTPRequest ====== ====== Technique XMLHTTPRequest ======
 +Les premières techniques existent depuis longtemps avec celle de Script Loading la plus largement utilisée. Mais le Web 2.0 sous sa forme "web applicatif"​ a véritablement pu décoller grâce à la standardisation de l'​objet XMLHTTPRequest (voir {{:​ajax2:​ajax-intro.pdf|Intro}},​ slides 9-11, et https://​developer.mozilla.org/​fr/​docs/​XMLHttpRequest).
  
 +C'est un outil qui est dédié au déclenchement d'une requête en arrière-plan et qui permet de contrôlé directement le dialogue client/​serveur.
 +
 +  * [[http://​ogo.heig-vd.ch/​ajaxrad/​Part1/​xhr1.html|Part1/​xhr1.html]] : fonctionnement (new XMLHttpRequest,​ xhr.open/​send/​onreadystatechange/​readyState/​status,​ ...). Le résultat est contenu dans this.responseText (ici du HTML prêt à coller)
 +  * [[http://​ogo.heig-vd.ch/​ajaxrad/​Part1/​xhr2.html|Part1/​xhr2.html]] : avec envoi d'un paramètre et réponse en notation JSON (usage de JSON.parse)
 +  * [[http://​ogo.heig-vd.ch/​ajaxrad/​Part1/​xhr3.html|Part1/​xhr3.html]] : utilisation de this.responseXML avec un header text/xml et **encodage** en XML côté serveur). Le résultat this.responseXML est directement obtenu sous la forme d'un arbre XML (DOM Document) et donc pas besoin de le décoder "à la main".
 +
 +  * Exercices : refaire les exercices TraceIt, Amis, CodePostal avec la technique XMLHTTPRequest
 +    * Corrigé TraceIt : http://​ogo.heig-vd.ch/​ajaxrad/​Ex1/​trace/​traceit_xhr.html
 +    * Corrigé Amis : [[http://​ogo.heig-vd.ch/​ajaxrad/​Ex1/​amis/​amis_xhr.zip|amis_xhr.zip]],​ http://​ogo.heig-vd.ch/​ajaxrad/​Ex1/​amis/​amis_xhr.html
 +    * Corrigé CodePostal : http://​ogo.heig-vd.ch/​ajaxrad/​Ex1/​codepostal/​codepostal_xhr.html
 +
 +  * Exercice Animaux ([[http://​ogo.heig-vd.ch/​ajaxrad/​Ex1/​animaux/​animaux_0.html|animaux_0.html]],​ [[http://​ogo.heig-vd.ch/​ajaxrad/​Ex1/​animaux/​familles.xml|familles.xml]]) : alimenter une liste (d'​espèces d'​animaux) selon l'​élément sélectionné d'une autre liste (de familles d'​animaux)
 +      * Suggestion : pour créer le service d'​extraction des espèces, utilisez la méthode [[http://​www.php.net/​manual/​fr/​domxpath.query.php|DOMXpath->​query]] de PHP
 +      * Suggestion : la méthode [[http://​www.php.net/​manual/​fr/​domdocument.importnode.php|DOMDocument->​importNode]] peut aussi servir.
 +
 +Conclusions : c'est la technique la plus souple et complète (GET, POST, contrôle d'​erreurs,​ ...). Elle a été créée comme technique dédiée au concept de programmation web AJAX.
ajax2/techxhr.1392886572.txt.gz · Last modified: 2018/05/16 10:05 (external edit)