Programmer une fonction basique en AJAX

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


LeMulotNocturne
WRInaute passionné
WRInaute passionné
 
Messages: 636
Inscription: Mer Juin 01, 2005 20:46

Message le Ven Mar 24, 2006 10:29

MarvinLeRouge a écrit:Salut,

Je te conseillerai de rafraîchir la liste à la frappe, plutôt que sur clic. Ainsi, l'utilisateur voit en même temps qu'il tape les sujets en rapport. Il ne risque pas d'oublier de cliquer sur le bouton "voir les sujets en rapport".


c'est une bonne idée de principe, mais gaffe aux requêtes web et SQL !!!! Ca va flinguer le serveur à mon avis... :roll:

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Ven Mar 24, 2006 10:41

LeMulotNocturne a écrit:
MarvinLeRouge a écrit:Salut,

Je te conseillerai de rafraîchir la liste à la frappe, plutôt que sur clic. Ainsi, l'utilisateur voit en même temps qu'il tape les sujets en rapport. Il ne risque pas d'oublier de cliquer sur le bouton "voir les sujets en rapport".


c'est une bonne idée de principe, mais gaffe aux requêtes web et SQL !!!! Ca va flinguer le serveur à mon avis... :roll:


pas à chaque lettre, mais en sortie du champ titre ça me semble être une bonne idée


LeMulotNocturne
WRInaute passionné
WRInaute passionné
 
Messages: 636
Inscription: Mer Juin 01, 2005 20:46

Message le Ven Mar 24, 2006 11:15

spidetra a écrit:pas à chaque lettre, mais en sortie du champ titre ça me semble être une bonne idée


ah oui effectivement, je n'y avait pas pensé. Bonne idée.


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15902
Inscription: Ven Avr 19, 2002 19:51

Message le Ven Mar 24, 2006 11:16

sur ma page de test ça marche super bien dès que l'utilisateur quitte le champ "titre" qu'il vient de remplir...

il me faut un peu de temps pour l'intégrer dans l'usine à gaz phpBB mais ça va venir !


LeMulotNocturne
WRInaute passionné
WRInaute passionné
 
Messages: 636
Inscription: Mer Juin 01, 2005 20:46

Message le Ven Mar 24, 2006 11:21

:D
Du coup tu fais comment ? avec ou sans lib ?


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15902
Inscription: Ven Avr 19, 2002 19:51

Message le Ven Mar 24, 2006 11:31

je disais déjà hier soir que j'avais réussi avec la lib de spidetra mais que l'intégration dans phpBB n'était pas une mince affaire (surtout qu'il faut le faire seulement quand on crée un post pour créer une discussion)


LeMulotNocturne
WRInaute passionné
WRInaute passionné
 
Messages: 636
Inscription: Mer Juin 01, 2005 20:46

Message le Ven Mar 24, 2006 11:51

WebRankInfo a écrit:l'intégration dans phpBB n'était pas une mince affaire (surtout qu'il faut le faire seulement quand on crée un post pour créer une discussion)


:roll: oui, ça je veux bien le croire... Bon courage.

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Ven Mar 24, 2006 11:54

WebRankInfo a écrit:je disais déjà hier soir que j'avais réussi avec la lib de spidetra mais que l'intégration dans phpBB n'était pas une mince affaire (surtout qu'il faut le faire seulement quand on crée un post pour créer une discussion)


Tu as eu le temps de testé la modif que je t'ai suggéré ?

Dans le template :
Code: Tout sélectionner
<script>
   {ajax}
.........


Dans ton code php un truc du style :
Code: Tout sélectionner
....
$ajax = sajax_show_javascript();
....
$template->assign_vars(array(
     ..........   
     'ajax' =>      $ajax',
   ........
));


Dans ta lib Sajax.php, tu remplace le echo par un return.
ça suppprime le code php de ton template.


Bourriquet
WRInaute passionné
WRInaute passionné
 
Messages: 635
Inscription: Lun Sep 19, 2005 22:10

Message le Ven Mar 24, 2006 11:59

Moi j'ai une technique plutôt simple :

J'ai chopé une classe Javascript, que j'ai quelque peu modifié. Cette classe me permet de générer un objet qui gère les method post et get.

Elle appelle la page, et lorsqu'elle est chargée, elle lance une fonction de callback qui exécute le code que je veux.

Donc en gros, mon code se résume à peut près à ça :

Code: Tout sélectionner
function AppelDeLaPage() {
  conn = new Ajax(true) ;
  conn.sendAndLoad("lapagequejeveux.php","GET",fonctiondeCallBack) ;
}

function fonctiondeCallBack(prmConn) {
//là je fais ce que je veux, l'objet prmConn c'est le conn créé dans l'appel de la page. Le texte est récupéré par prmConn.responseText et prmConn.statusCode contient le code de retour HTTP

}


totoro
WRInaute passionné
WRInaute passionné
 
Messages: 908
Inscription: Mer Juil 28, 2004 14:12

Message le Ven Mar 24, 2006 12:14

WebRankInfo a écrit:sur ma page de test ça marche super bien dès que l'utilisateur quitte le champ "titre" qu'il vient de remplir...

il me faut un peu de temps pour l'intégrer dans l'usine à gaz phpBB mais ça va venir !


Tu peux même faire mieux que ca ... en utilisant une recherche intuitive :
Lorsque l'utilisateur tape une lettre (onKeyPress), tu interroges directement en AJAX si le sujet qu'il traite existe déjà (attention à ne pas surcharger les connections -> commence à tester à partir de 4 lettres par exemples... voir plus).

Exemple -> http://www.jeuxactu.com/creation_club.html

Pour le pb de php dans le template posting_body.tpl, il suffit de faire un appel en .js qui renvoie sur ton script php.
Exemple :
<script language="javascript" src="live_search.php"></script>

Dans ton script live_search.php, rient ne t'empeche de meler php et js ... tant que c'est du js qui ressort.


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15902
Inscription: Ven Avr 19, 2002 19:51

Message le Ven Mar 24, 2006 13:08

@totoro : je trouve pas que ta suggestion soit mieux, ça risque de perturber pas mal les internautes, et aussi de surcharger mon serveur avec les requêtes MySQL.

pour ton autre remarque, je n'ai pas compris ! Regarde l'exemple de code que j'utilise


totoro
WRInaute passionné
WRInaute passionné
 
Messages: 908
Inscription: Mer Juil 28, 2004 14:12

Message le Ven Mar 24, 2006 13:30

mieux -> me suis peut-etre un peu embalé :lol: C'est plus une suggestion.

La suite était pour contourner le template phpbb qui ne tolere pas de php. Mais je me rends compte que ce n'est pas forcement la bonne solution... ca dépend ce que renvoient les fonctions
sajax_init();
sajax_export("multiply");
sajax_handle_client_request();

Si ca renvoie du javascript... alors tu peux faire ce genre d'appel.
Sinon je pense qu'il faut placer ta partie php avant l'appel au template, dans posting.php (apres include du header).


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15902
Inscription: Ven Avr 19, 2002 19:51

Message le Ven Mar 24, 2006 17:34

ça y est j'ai mis en ligne un truc qui marche mais qu'il faut encore améliorer
vous pouvez le tester en allant sur le formulaire pour créer une nouvelle discussion (sans avoir besoin de valider votre post)

il me reste un pb avec les accents, je ne sais pas trop pourquoi.


LeMulotNocturne
WRInaute passionné
WRInaute passionné
 
Messages: 636
Inscription: Mer Juin 01, 2005 20:46

Message le Ven Mar 24, 2006 17:53

heu... c'est ou que ça doit s'afficher ?... pas vu de modif... :oops:


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15902
Inscription: Ven Avr 19, 2002 19:51

Message le Ven Mar 24, 2006 18:00

LeMulotNocturne a écrit:heu... c'est ou que ça doit s'afficher ?... pas vu de modif... :oops:
je suppose que tu es avec IE ? car moi sous Firefox ça marche bien

Programmer une fonction basique en AJAX Programmer une fonction basique en AJAX

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités