………
Ajax
•Casse le schéma
“une interaction = un changement de page”
•Passe par des requêtes RPC (Remote
Procedure Call)
•S’appuie sur les progrès effectués en Javascript
Ajax côté client
•Certains éléments (formulaires…) provoquent un appel RPC sur le serveur
•Chaque page intègre donc un mini-client RPC
•Les résultats sont récupérés et transformés en HTML
•Le HTML est intégré dynamiquement à la page
•Via du Javascript
Exemple avec Simple Ajax (SAjax)
•Ajax n’est en effet qu’un ensemble de recommandation
•Diverses implémentations en différents langages
•Certaines implémentations sont de véritables Framework
Exemple
•Problème classique :catégorie/sous catégorie
•Adapter la liste des sous catég en fonction du choix de la catégorie
•Un premier combo (liste) de sélection provoque un appel sur le serveur
•Le serveur retourne un second combo qui sera affiché dynamiquement
HTML appelant Catégorie :
<select name= »categ » id= »categ »
onchange= »do_souscateg();return false; »>
<option>Veuillez sélectionner…</option>
<option>XX</option>
<option>XXXX</option>
</select>
<div id= »souscateg »></div>
Javascript :appel
function do_souscateg() {
var categ = document.getElementById
(« categ »).value;
x_souscateg(categ,do_souscateg_cb);
}
Partie PHP
<?
require(« Sajax.php »);// import du Framework Sajax
function souscateg($categ) { // génération sous catég
// requête permettant de récup liste sous catég
// (appel objets métiers)
// génération liste
$ret='<select name= »souscateg »>’;
$ret=$ret.'<option>XXXX</option>’;
$ret=$ret.'</select>’;
return $ret;
}
fonction PHP souscateg()
Côté client
PHP JAVASCRIPT
Côté serveur
HTML
Element HTML onchange=”…”
fonction Javascript do_souscateg()
fonction Javascript do_souscateg_cb()
Element HTML
<div id=”…”>
requête RPC