¿Detener navegadores solicitando volver a enviar los datos del formulario en la actualización?

Tengo un formulario de envío a través de POST. Presento el formulario, y todo está bien; sin embargo, si bash volver a cargar la página nueva a la que va el formulario después del envío, aparece el mensaje “¿Desea volver a enviar datos?” (FireFox). También podría suceder en otros navegadores, pero no estoy seguro.

¿Alguien sabe de una manera de detener la aparición de este mensaje para que pueda continuar y actualizar la página? No es bueno para entornos de producción: ¡los usuarios pueden enviar el mismo formulario dos veces!

Necesita usar el patrón POST-Redirect-GET.

Haga que su formulario responda con un redireccionamiento a una solicitud GET.
De esta forma, cuando el usuario actualiza la página, solo volverá a enviar el GET.

Una forma sencilla después de response.sendRedirect es volver a cargar la página de esta manera:

 window.location.href = window.location.pathname; 

Esto funciona para mi.

Si url no tiene ningún parámetro, use esto –

 window.location = window.location.href+"?rnd="+Math.random(); 

O bien usa esto –

 window.location = window.location.href+"&rnd="+Math.random(); 

Funcionará.

Será una violación de seguridad si los navegadores hacen eso. Por ejemplo, en el procesamiento de tarjetas de crédito, el sitio puede cobrarle al usuario dos veces.

La única manera es ir a la barra de direcciones y presionar enter. Causará una nueva solicitud.