Tengo un formulario POST (HTML simple, sin JS involucrado en el envío) que está parcialmente validado en el lado del servidor. Cuando lo envío, el servidor puede devolver una redirección si hay algún error. Digamos que el formulario está en /myform URI, pero si el servidor encuentra errores en los datos, lo redirigirá a /myform?error . Después de hacer esto varias veces y finalmente enviarlo correctamente, es posible que el usuario quiera usar el botón back de su navegador. Pero hace que el usuario siga todos los pasos de los intentos de envío fallidos, por ejemplo, /myform?success -> /myform?error -> /myform -> /home .
¿Cómo evito esto? Mi conjetura es eliminar las últimas entradas del History que tienen el mismo URI. ¿Cómo logro eso? ¿O hay otra manera mejor? Uso la representación del lado del servidor con Spring (Java), por lo que la validación dinámica no es realmente una opción para el caso de uso. ¡Gracias de antemano!
Por motivos de seguridad y privacidad, no puede ver ni modificar el historial de navegación de un usuario.
Sin embargo, si está dispuesto a usar JavaScript, puede usar la API de historial para reemplazar el estado de la página actual en el envío exitoso:
history.replaceState(null, 'Page title', '/form-url');https://developer.mozilla.org/en-US/docs/Web/API/History_API