Programmer une fonction basique en AJAX

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


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

Message le Sam Mar 25, 2006 17:15

Je me rappelle plus le nom de la classe que jai modifié lol Elle avait un nom à rallonge, je l'ai renommée Ajax, et ai apporté quelques toutes petites modifs, mais qui sont plus confortable pour mon usage.

Mais voilà la source de la classe modifiée :
-http://www.sms-gift.com/ajax.js


Reste ensuite à créer un objet Ajax.

Par exemple comme ça :

Code: Tout sélectionner
function lafonctionDAppel() {
   var conn = new Ajax(true) ;
   conn.sendAndLoad("lapage.php?" + Math.random(), "GET", lafonctiondetraitement) ;
}


Le Math.random ajouté à la page permet tout simplement de contrer une mise en cache de la page par un navigateur. C'est facultatif, j'utilise derrière un pragma no-cache, c'est juste une précaution.

De plus, il y a aussi un fonction appendData qui permet d'ajouter des variables pour envoyer des données via la méthod post.

Ca devient :

Code: Tout sélectionner
conn.appendData("lavariable","lavaleur") ;
conn.sendAndLoad("lapage.php","POST",lafonctiondetraitement) ;


On peut faire plusieurs appendData d'affiler, il serialise tout, puis envoit le contenu seulement lors du sendAndLoad.

Il y a aussi une fonction resetData qui permet de vider le buffer et repprendre un appendData "vierge"

Puis à définir la fonction de traitement, dont l'unique paramètre sera l'objet Ajax pour continuer le traitement, et qui sera passé automatiquement par la fonction d'Appel.

Code: Tout sélectionner
function lafonctiondetraitement(conn) {
   document.getElementById('element').innerHTML = conn.responseText ;
        //on peut envisager un rappel automatique de la fonction ici
   window.setTimeout("lafonctionDAppel();",5000) ;
}


En espérant que ça puisse vous aider ;)

yanhl
WRInaute passionné
WRInaute passionné
 
Messages: 793
Inscription: Jeu Déc 04, 2003 12:11

Message le Lun Mar 27, 2006 12:57

@Olivier : pour tes problèmes d'accents, dans ta réponse tu devrais ajouter un
header("Content-type: text/html; charset=ISO-8859-1");
ça devrait résoudre ton problème.


sietjp
WRInaute passionné
WRInaute passionné
 
Messages: 622
Inscription: Dim Déc 14, 2003 21:05

Message le Lun Mar 27, 2006 13:36

C'est comme pour suede, j'ai bien la suggestion du sujet simialire, mais impossible de changer de champ pour écrire mon message.

IE 6.02

L'erreur vient du fait que dans certains navigateurs le focus revient dans le champ "sujet " après la vérif AJAX.


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

Message le Lun Mar 27, 2006 13:43

@yanhl : à quel endroit me suggères-tu d'ajouter ça ? car dans la page gérée par phpBB, ça y est déjà

@sietjp : si je comprends bien, pour que ça marche avec ceux qui utilisent IE, il faudrait que je change la méthode. Peut-être devrais-je utiliser un bouton "Tester si cette discussion n'existe pas déjà" et n'afficher les suggestions que si l'utilisateur clique sur ce bouton ?

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Lun Mar 27, 2006 13:53

WebRankInfo a écrit:@yanhl : à quel endroit me suggères-tu d'ajouter ça ? car dans la page gérée par phpBB, ça y est déjà

Normalement, il faut mettre cela au tout début du script.
(avant tout envoi d'html)

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Lun Mar 27, 2006 13:56

WebRankInfo a écrit:@sietjp : si je comprends bien, pour que ça marche avec ceux qui utilisent IE, il faudrait que je change la méthode. Peut-être devrais-je utiliser un bouton "Tester si cette discussion n'existe pas déjà" et n'afficher les suggestions que si l'utilisateur clique sur ce bouton ?

Cela me donne une idée: (a voir..)

Pourquoi ne pas afficher un message intermédiaire avant la validation.
L'utilisateur valide..
Une page avec la liste de liens similaires...
L'utilisateur regarde sur ces liens, ou valide s'il ne trouve rien...


C'est un peu tordu, surtout si quelqu'un n'est pas trop habitué, et en plus l'internaute tapera son message peut être pour rien... Peut être que quelqu'un aura une autre idée..c'est une piste.


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

Message le Lun Mar 27, 2006 14:04

thierry, l'idée est d'éviter à l'utilisateur de taper un message pour lui dire une fois qu'il l'a tapé qu'il n'aurait pas dû le faire...

d'où l'intérêt d'AJAX qui affiche les sujets similaires directement dans le formulaire.

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Lun Mar 27, 2006 14:16

WebRankInfo a écrit:thierry, l'idée est d'éviter à l'utilisateur de taper un message pour lui dire une fois qu'il l'a tapé qu'il n'aurait pas dû le faire...

d'où l'intérêt d'AJAX qui affiche les sujets similaires directement dans le formulaire.

:? :? :? :? :?
vi vi....sorry...

EDIT:
Le bouton permettant de tester si un ou plusieurs sujet(s) existe(s) me semble une bonne solution. Peut être tester dans un premier temps cette solution et regardé si les utilisateurs utilisent ce bouton avant de poster...!?

yanhl
WRInaute passionné
WRInaute passionné
 
Messages: 793
Inscription: Jeu Déc 04, 2003 12:11

Message le Lun Mar 27, 2006 14:25

thierry, l'idée est d'éviter à l'utilisateur de taper un message pour lui dire une fois qu'il l'a tapé qu'il n'aurait pas dû le faire...
d'où l'intérêt d'AJAX qui affiche les sujets similaires directement dans le formulaire.


Et c'est une bonne idée mais je crois qu'elle mériterait une réalisation encore plus "ajaxienne" : pour le moment on doit cliquer et faire retour pour visualiser chaque suggestion... si on veut vérifier 5 suggestions par exemple, ça fait beaucoup de mouvements de la souris et de clics.

Ca fait un peu de taf supplémentaire et de tests, en revanche. Comme tout dev DHTML, on sait quand on commence... :-/


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

Message le Lun Mar 27, 2006 15:46

ok mais je vois pas bien ton idée ? tu veux afficher l'intégralité des discussions dans la fenetre d'édition de message ? je pense que ceux qui veulent vérifier si une discussion suggérée correspond bien à leur besoin cliquent dessus avec la molette (dans Firefox) ou l'ouvrent dans une nouvelle fenetre

yanhl
WRInaute passionné
WRInaute passionné
 
Messages: 793
Inscription: Jeu Déc 04, 2003 12:11

Message le Lun Mar 27, 2006 16:20

onmouseover sur lien ->infobulle contenant les 200 premiers caractères du premier post, sans les sauts de ligne doublés, sans les smileys ni le bbcode.
c'est un exemple, il faut tester pour voir si c'est une bonne solution. c'est peut-être une mauvaise idée, il faudrait voir ce que ça donne en vrai.
Edit : en fait ça donnerait un peu un truc comme sur cette page : http://www.zikinf.com/forums/zinc,nouve ... 21381.html
quand on clique sur les liens "en réponse à", mais il faudrait une police plus petite, pas de smileys et on se fiche de l'auteur (mais peut-être pas de la date)
Les liens resteraient cliquables quand même


tu as raison pour le clic centre (et ctrl-W), c'est très rapide mais c'est réservé aux "power users" et c'est pas le cas de tant de monde que ça, même ici je pense.

Au passage, le libellé "attention" est un peu exagéré : on a l'impression qu'on a déjà fait une erreur.

Et puisque tu es en plein dev, si t'as l'occasion d'implémenter le "Déja consulté" sur les topics conseillés de la home, ce serait super !

Voilà, c'est juste des idées comme ça :-)


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

Message le Lun Mar 27, 2006 17:10

je suis passé à un bouton qu'il faut cliquer, ça devrait réduire les cas de bug

ceux qui avaient rencontré un pb peuvent-ils me dire ce que ça donne maintenant ?

Pilounet
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 167
Inscription: Mer Mar 03, 2004 22:52

Message le Lun Mar 27, 2006 17:12

Bonjour,

Je ne vois pas de bouton

(Internet Explorer)


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

Message le Lun Mar 27, 2006 17:26

change le thème du forum pour prendre wri_v3 ou attends 2 sec :-)


TOMHTML
WRInaute accro
WRInaute accro
 
Messages: 3244
Inscription: Mer Aoû 25, 2004 14:05

Message le Lun Mar 27, 2006 17:43

WebRankInfo a écrit: Peut-être devrais-je utiliser un bouton "Tester si cette discussion n'existe pas déjà" et n'afficher les suggestions que si l'utilisateur clique sur ce bouton ?

Rêve pas, rare sont ceux qui cliqueront sur le bouton.
et quand bien même ils (là je parle des newbies) cliqueraient dessus, ils créeront le topic quand même pour être certains que leur message soit bien vu et reçoive une réponse...



edition : en fait faut juste un petit javascript qui, quand tu veux envoyer le formulaire (OnSubmit) vérifie que tu a cliqué au moins une fois sur le bouton "vérifier si ça n'existe pas déjà" ;)

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