En los viejos tiempos de CGI teníamos muchas formas que desencadenarían varias acciones de backend. Como notificaciones de texto a grupos, trabajos de impresión, cultivo de datos, etc.
Si el usuario estaba en una página que decía "Por favor espere ... Realizando un trabajo ENORME que podría llevar algún tiempo" ¡Era más probable que pulsaran ACTUALIZAR y esto sería MALO!
¿POR QUÉ? Porque desencadenaría trabajos más lentos y eventualmente empantanaría todo.
¿La solución? Permítales hacer su forma. Cuando envíen su formulario ... Comience su trabajo y luego diríjalos a otra página que les diga que esperen.
Donde la página en el medio realmente contenía los datos del formulario que se necesitaban para comenzar el trabajo. Sin embargo, la página WAIT contiene una destrucción del historial de JavaScript. Para que puedan RECARGAR esa página de espera todo lo que quieran y nunca activará el trabajo original para que comience en segundo plano, ya que esa página de ESPERA solo contiene los datos del formulario necesarios para la ESPERA en sí.
Espero que tenga sentido.
La función de destrucción del historial también les impidió hacer clic en ATRÁS y luego actualizar también.
Fue muy fluido y funcionó muy bien durante MUCHOS MUCHOS años hasta que la organización sin fines de lucro se cerró.
Ejemplo: ENTRADA DE FORMULARIO: recopile toda su información y, cuando se envíe, esto activará su trabajo de backend.
RESPONSE from form entry - Devuelve HTML que realiza una redirección a su página de espera estática y / o POST / GET a otro formulario (la página WAIT).
PÁGINA DE ESPERA: solo contiene datos de FORMULARIO relacionados con la página de espera, así como javascript para destruir el historial más reciente. Me gusta (-1 O -2) para destruir solo las páginas más recientes, pero aún les permite volver a su página de entrada FORM original.
Una vez que estén en su página de ESPERA, pueden hacer clic en ACTUALIZAR tanto como quieran y nunca generará el trabajo de FORMULARIO original en el backend. En cambio, su página WAIT debe incluir una actualización programada META para que siempre pueda verificar el estado de su trabajo. Cuando se completa su trabajo, se les redirige fuera de la página de espera a donde desee.
Si lo hacen ACTUALIZAR manualmente ... Simplemente están agregando una verificación más del estado de su trabajo allí.
Espero que ayude. Buena suerte.