Question

Je voudrais demander votre avis à ce sujet. C'est une question théorique.

Je suis dans une situation où une interface est présentée à un utilisateur qui utilise AJAX pour communiquer avec le serveur. La langue côté serveur n'a pas d'importance ici. J'ai un formulaire avec des champs et chacun d'entre eux sont supprimables. Si l'utilisateur en sélectionne quelques-uns, "supprimer". -checkboxes et presses Update, alors j'ai ces deux options à faire:

Option 1: Lors de la suppression de champs, utilisez JavaScript pour supprimer le code HTML immédiatement et exécutez AJAX sur l’arrière-plan pour supprimer ces champs. Cela permet de créer une interface rapide - > meilleure expérience utilisateur. Toutefois, si l’appel AJAX échoue côté serveur (les champs ne peuvent pas être supprimés), les champs HTML précédemment supprimés donneraient une fausse hypothèse à l’utilisateur (dont ils étaient supprimés).

Option 2: Lors de la suppression de champs, exécutez AJAX. En fonction de son succès, supprimez le code HTML ou non. Cela donne des informations précises à l'utilisateur, mais le formulaire serait gelé jusqu'à la fin de l'appel AJAX = slow (er).

Quelles sont vos pensées? Quelle approche me semble préférable ou devrais-je en faire une option?

Était-ce utile?

La solution

Option 3: marquez les contrôles comme étant supprimés (par exemple, superposez une zone grise translucide avec une icône de suppression). Envoyez la demande. À son retour, supprimez les contrôles ou modifiez la zone pour afficher une icône d'erreur pendant quelques secondes (puis supprimez la zone).

Autorisez l'interaction du reste de l'interface pendant que cela continue.

Autres conseils

Belle question.

Une troisième option serait de:

  1. désactiver immédiatement les contrôles
  2. supprimez-les au retour d'Ajax

Ceci indique à l’utilisateur que quelque chose a été demandé (réactivité), tout en indiquant également le moment où il est effectivement achevé.

En outre, l’utilisateur ressent en quelque sorte l’appel distant, ce qui ne l’induit pas en erreur, car c’est vraiment arrivé. Quoi qu’il en soit, nous ne pouvons rien faire de significatif pour cacher ce sentiment, car le retard sera toujours là.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top