Fork me on GitHub




« 1 (2)


Re: architecture AJAX : exemple de module
Aspirant
Inscrit: 28/02/2005 14:19
De Vercors
Messages: 37
Pour moi, c'est le fonctionnement même d'ajax qui utilise la fonction echo pour restituer le message de retour qui est incomptatible avec le systeme de log actuelle de xoops.

Posté le : 08/05/2006 13:34
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Semi pro
Inscrit: 05/06/2004 14:25
Messages: 750
Citation :

oryxvet a écrit:
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.


Effectivement les infos debug sont superposées au code transmis,mais en quoi ca fait planter le navigateur? Pcq dans mes tests j'ai eu pas mal de messages d'erreur m'enfin ils s'affichaient pi c'est tout...
Et modifier le coeur de xoops au niveu debug mode pour pouvoir intégrer ce genre de truc c'est pas ce qui est des plus pratiques...

Posté le : 08/05/2006 13:41
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Aspirant
Inscrit: 28/02/2005 14:19
De Vercors
Messages: 37
Citation :

en quoi ca fait planter le navigateur?

En fait un format JSON est utilisé pour le retour. l'évaluationn par la methode eval d'une mauvaise chaine de caractère plante firexfox (rend 100% de CPU).
J'

Posté le : 10/05/2006 20:03
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Aspirant
Inscrit: 28/02/2005 14:19
De Vercors
Messages: 37
Une correction a été apporté sur le module afin qu'il ne buggue plus en mode debug ( sic ! ).


result = xmlHttpObject.responseText;
result = result.substring(0,result.lastIndexOf('}')+1);

Afin de ne passer que la chaine de caractère JSON c-a-d en supprimant tous ce qu'il y a après la dernière accolade { .

La conclusion a ce petit travail de decouverte d'Ajax me fait dire que le systeme standard a des mérites (la soumission, le feet back systematique, le raffraichissement... ) et a certainement encore certainement de long jour devant lui.

Posté le : 10/05/2006 20:09
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 (2)



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

62 Personne(s) en ligne (38 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 62 | Plus ...