demande conseils ajax

Eléphant du PHP | 110 Messages

21 nov. 2007, 21:41

salut, je débute avec ajax et y'a des choses que je comprends pas bien au niveau de l'utilisation qu'on peut en avoir.
J'ai un exemple , il s'agit de l'envoi d'un formulaire ou je trouve ajax inutile: les donnees du formulaire sont envoyees dans la requete ajax et la reponse est traitee comme suit: si le traitement des donnees c'est correctement déroulé on redirige l'utilisateur sur une autre page via la propriété document.location.href. alors ma question est : quel est l'intéret d'ajax dans ce cas ou on appelle une autre page apres le traitement des données (ce qui revient au meme que l'utilisation classique d'un formulaire)?

plus généralement, pouvez vous me dire quels genres de données vous renvoyez dans le fichier xml?

merci!

ViPHP
ViPHP | 4039 Messages

21 nov. 2007, 23:16

Mais justement, image une page principale, avec plusieurs données, avec dans un coin un cadre pour s'inscrire.

Avec ajax, sans changer de page, tu peux afficher un formulaire d'inscription, vérifier les données et valider l'inscription, le tout dans un petit bloc dans un coin dans la page.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 110 Messages

22 nov. 2007, 16:50

Mais justement, image une page principale, avec plusieurs données, avec dans un coin un cadre pour s'inscrire.

Avec ajax, sans changer de page, tu peux afficher un formulaire d'inscription, vérifier les données et valider l'inscription, le tout dans un petit bloc dans un coin dans la page.
oui la je comprends l'interet. Mais utiliser une redirection vers une autre page après avoir fait un traitement ajax c'est pas logique comme comportement non?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

22 nov. 2007, 17:28

C'est pas forcement terrible, mais pourquoi pas ? L'avantage que je pourrais y voir dans ce cas, c'est de ne pas avoir à gérer la restitution des données saisies dans les champs en cas d'erreur.
Si tu envois les données du formulaire de manière classique, tu vas devoir recharger la page, et donc perdre les données saisies à moins de ne renseigner les value="" avec les valeurs spécifiées. Ici ton formulaire et ses valeurs ne bougent pas, la redirection n'a lieu qu'une fois les données approuvées (et enregistrées) par le serveur :)

Sinon pour l'utilisation d'Ajax, on peut en faire beaucoup de choses :
- completion dans un champ : l'utilisateur commence à saisir des lettres dans un champ texte, ajax va chercher en base les valeurs existantes qui commencent par cette saisie et les propose à l'utilisateur qui peut sélectionner celle qui lui convient sans avoir à tout saisir.
- éléments de formulaires liés : tu choisis une catégorie dans une liste, et ajax va chercher les sous-catégories associées à celle-ci (genre tu choisis une région et on te propose ensuite uniquement les départements associés)
- accélérer des saisies : genre un formulaire avec 3 champs à remplir, je fais ma saisie, je clique sur enregistrer, le formulaire se vide et je peux commencer à saisir mon deuxième enregistrement alors que les données du premier partent en direction de la bdd. Au lieu d'attendre que la page se recharge, me renvoi éventuellement sur une liste où je devrais cliquer sur nouveau
- ...

En fait tu peux t'en servir pour tout et n'importe quoi ... faut juste te demander dans quels cas ça vaut la peine de le mettre en place.. est-ce que c'est vraiment plus agréable ? est-ce que ça facilite la vie de l'utilisateur ? est-ce que ce n'est pas une surcharge inutile de javascript alors qu'un simple refresh de la page aurait le même effet ? etc. :)

L'un des derniers gadgets que j'ai fait avec ajax, c'est l'administration d'une galerie d'images. Je propose à l'admin des miniatures des fichiers contenus dans un dossier, il clic sur l'une d'elle qui apparait dans un formulaire ou il renseigne un nom, date, description... Avec ajax je contrôle si des infos ont déjà été saisies pour ce fichier, si oui je pré-renseigne les champs et j'enregistre au fur et à mesure. L'utilisateur peut ainsi rapidement passer d'une photo à une autre pour les renseigner :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 110 Messages

22 nov. 2007, 18:12

ok, oui les données restent visibles tant que le formulaire n'a pas été envoyé, donc ca bien son utilité :).

Merci pour les exemples. Ca me donne des idées, et puis je vais découvrir au fur et à mesur en me posant la question si ca sert ou pas à quelque chose. :)

bonne journée.

ViPHP
AB
ViPHP | 5818 Messages

22 nov. 2007, 18:37

Bonjour,

Parmi les questions qu'il faut également te poser en plus de l'accessibilité (si js est désactivé ton système est mort) est celle du référencement et des liens :
Si tu fais par exemple une boutique en ligne ou une galerie photo avec un système de navigation en ajax, tes pages ne pourront pas être naturellement référencées puisque tu n'auras qu'une seule adresse pour différentes pages. Pour la même raison tu ne pourras pas non plus créer de lien vers une page désignée (sauf la première).

Donc AJAX à n'utiliser qu'en connaissance de cause :wink:

ViPHP
ViPHP | 4039 Messages

23 nov. 2007, 11:18

Moi je l'utilise actuellement pour naviguer dans une arborescence d'une petite vingtaine de milliers de mots-cles, avec les données qui vont avec.

Toute une application qui ne demande aucun rafraîchissement de page, que des requêtes ajax.
(j'ai néanmoins prévu que l'utilisateur puisse obtenir un lien direct vers certaines données).
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 110 Messages

23 nov. 2007, 21:14

Donc AJAX à n'utiliser qu'en connaissance de cause Wink
pfff c'est quand même avant tout un grand coup de pub cet ajax, j'ai l'impression.

MessagePosté le: 23 Nov 2007, 10:18 Sujet du message:
Moi je l'utilise actuellement pour naviguer dans une arborescence d'une petite vingtaine de milliers de mots-cles, avec les données qui vont avec.

Toute une application qui ne demande aucun rafraîchissement de page, que des requêtes ajax.
(j'ai néanmoins prévu que l'utilisateur puisse obtenir un lien direct vers certaines données).
ca te pose pas de probleme pour le referencement?

ViPHP
AB
ViPHP | 5818 Messages

23 nov. 2007, 23:09

pfff c'est quand même avant tout un grand coup de pub cet ajax, j'ai l'impression.


ça peut rendre service dans certains cas mais ce n'est pas La solution universelle.

C'est pour cette raison que Ryle disait "faut juste te demander dans quels cas ça vaut la peine de le mettre en place".
Quand ce n'est pas indispensable niveau visiteur -niveau administrateur c'est plus ciblé et les pages n'ont pas besoin d'être référencées- c'est certain qu'il est improductif de vouloir en mettre à tout prix juste pour faire hi tech :wink: