Citation :
Sur quels critères avez vous choisi Ajax Agent?
Un des avantages de ce framework Ajax Agent est son intégration facile dans un système existant. Tout est présent dans un seul fichier php agent.php à inclure. Il intègre une génération de JavaScript permettant de lancer la requête, un encodage décodage PHP et une classe PHP appelée Agent servant de contrôleur coté serveur pour appeler la fonction voulue.
Je l'ai essayé et il a marché du premier coup sans trop de fatigue. Voila le critère principal de mon choix.
Il existe bien entendue une multitude de framework PHP Ajax voir
ajaxpatterns et aussi des bibliothèques javascript comme prototype.js ou qui facilitent le code d'application Ajax.
Je vous conseille également le papier de Rasmus sur le sujet :
RasmusCitation :
ca fait planter mon navigateur (enfin nan mais ca lui fait utiliser 99% du cpu, donc c'est tout comme...)
Un point commun de ses framework est que le message de retour s'effectue par la fonction "echo". Hors le système de log de xoops s'il est activé (Mode de mise au point=mise au point php) utilise "echo" pour afficher les erreurs PHP. La conséquence est que le message de retour de la requête Ajax se cumule avec les messages d'erreur php remontés par xoops à l'aide de la classe XoopsErrorHandler du fichier class\errorhandler.php.
Pour faire marcher Ajax, il faut donc désactiver le Mode de mise au point debug et utiliser à la place d'autres d’outils de debug dont :
- Un système de log avec écriture sur un fichier. Il existe chez pear un système de log simple et très bien fait sous la forme d'un fichier Log.php à inclure dans le répertoire class.
Mettre dans le header :
require XOOPS_ROOT_PATH.'/class/Log.php';
$conf = array('mode' => 0600, 'timeFormat' => '%X %x');
puis utiliser le code suivant pour logguer des messages :
$log->log('insert a xg_class:'.$sql);
On peut aussi modifier la classe XoopsErrorHandler du fichier class\errorhandler.php. La function XoopsErrorHandler_Shutdown() doit être modifier
echo $error_handler->renderErrors();
devient
$conf = array('mode' => 0600, 'timeFormat' => '%X %x');
$log_error = &Log::singleton('file', 'error.log', 'error', $conf);
$log_error->log($error_handler->renderErrors());
Enfin il existe pour firefox une extention firebug très utile pour inspecter le code html et pour faire ressortir
les erreurs javascript.
J'espère que ces petites précisions vous aiderons à faire de beau module xoops AJax.
Marco, pour le
Citation :
module de chat en ajax, dispo dans le referentiel
Marche-t-il avec le mode debug PHP activé ?
Quel est le nom du module ?