À l'époque de la CGI, nous avions de nombreux formulaires qui déclenchaient diverses actions en arrière-plan. Par exemple, des notifications textuelles à des groupes, des travaux d'impression, l'extraction de données, etc.
Si l'utilisateur se trouve sur une page qui dit "Veuillez patienter...". Exécution d'un travail énorme qui peut prendre un certain temps". Il serait plus enclin à appuyer sur REFRESH et ce serait MAUVAIS !
POURQUOI ? Parce que cela déclencherait davantage d'emplois lents et finirait par enliser l'ensemble.
La solution ? Leur permettre de faire leur formulaire. Lorsqu'ils soumettent leur formulaire... Commencez votre travail, puis dirigez-les vers une autre page qui leur demande d'attendre.
La page du milieu contenait en fait les données du formulaire nécessaires pour lancer le travail. La page d'attente contient cependant un historique détruit en javascript. Ils peuvent donc RELOADER cette page d'attente autant qu'ils veulent et cela ne déclenchera jamais le démarrage du travail original en arrière-plan, car cette page d'attente ne contient que les données du formulaire nécessaires à l'attente elle-même.
J'espère que cela a du sens.
La fonction de destruction de l'historique les a également empêchés de cliquer sur BACK et de rafraîchir ensuite.
Le système a été très transparent et a fonctionné à merveille pendant de NOMBREUSES années, jusqu'à ce que l'organisation à but non lucratif soit liquidée.
Exemple : FORMULAIRE D'ENTRÉE - Recueillez toutes les informations nécessaires et, une fois le formulaire soumis, déclenchez votre travail en arrière-plan.
RESPONSE from form entry - Renvoie un code HTML qui effectue une redirection vers votre page d'attente statique et/ou POST/GET vers un autre formulaire (la page d'attente).
PAGE D'ATTENTE - Contient uniquement des données de FORMULAIRE relatives à la page d'attente ainsi que du javascript pour détruire l'historique le plus récent. Comme (-1 OU -2) pour ne détruire que les pages les plus récentes, tout en permettant de revenir à la page d'entrée du formulaire d'origine.
Une fois qu'ils sont sur votre page d'attente, ils peuvent cliquer sur REFRESH autant qu'ils le souhaitent et cela n'engendrera jamais le travail FORM original sur le backend. Au lieu de cela, votre page d'attente devrait intégrer un rafraîchissement META temporisé afin de pouvoir toujours vérifier l'état de leur travail. Lorsque leur travail est terminé, ils sont redirigés hors de la page d'attente vers l'endroit de leur choix.
S'ils procèdent à un RAFRAICHISSEMENT manuel... Ils ajoutent simplement une vérification supplémentaire de leur statut professionnel.
J'espère que cela vous aidera. Je vous souhaite bonne chance.