Par Nicolas SUPRIN, mardi 19 septembre 2006 à 09:01 | PEAR | #55 | rss
Package permettant de réaliser des appels AJAX avec une trés forte interaction avec PHP, d'une façon simplissime !
Vous trouverez le packet ici : HTML_AJAX
Attention, il n'est pas encore en version stable !
Exemple
Je m'appuie sur un exemple de Gabriel Ricard :
index.html
<html>
<head>
<title>Hello World</title>
<script type="text/javascript" src="controller.php?client=all&stub=helloworld"></script>
<script>
function doHello()
{
var HW = new helloworld();
var result = HW.sayHello();
document.getElementById("target").innerHTML = result;
}
</script>
</head>
<body>
<div id="target"></div>
<br>
<input type="button" value="Say Hello" onclick="doHello();">
</body>
</html>
controller.php
<?php require("HTML/AJAX/Server.php"); require("HelloWorld.class.php"); $server = new HTML_AJAX_Server(); $hw =& new HelloWorld(); $server->registerClass($hw); $server->handleRequest(); ?>
HelloWorld.class.php
<? class HelloWorld { function sayHello() { // uncomment the line below to see why synchronous calls are bad //sleep(10); return "Hello, the time is " . date("n/j/y g:i:s a"); } } ?>
Télécharger l'exemple de Gabriel Ricard
Explications
- La classe HelloWorld contient une méthode bête et méchante qui nous renvoie l'heure. Pas compliqué.
- Le controller instancie le "server" AJAX, et inscrit la classe HelloWorld. L'appel à
handleRequestgénere le code javascript adéquat. - Le fichier
index.htminclue le code javascript généré, un divtarget, et un simple bouton, sur lequelle l'actiononclickappelle la méthode JavaScriptdoHello(). Dans cette méthode, nous instancions un nouvelle objet de la classehelloworld, puis nous pouvons appeler la méthodesayHello()que nous avons écrit dans notre classe PHP. Il ne reste plus qu'à afficher le contenu dans notre div !
Un vrai jeu d'enfant!
Résultat
Voir ici le Résultat, jetez un oeil au code source de la page, il peut être interressant de voir le javasript ainsi généré.
Liens Utiles
Getting Started
Exemples
Exemple de formulaire de recherche <-- trés interressant, appel du traitement d'un formulaire en AJAX !





Aucun commentaire pour le moment.
Aucun trackback.
Pour faire un trackback sur ce billet : http://www.blog.cactuscrew.com/tb.php?id=55&chk=jloupu
Les commentaires pour ce billet sont fermés.