Je change juste window.location
en JavaScript est dangereux parce que l'utilisateur pourrait toujours toucher le bouton retour et soumettre à nouveau le message, ce qui pourrait avoir des résultats inattendus (comme une double achat ). Le PRG est une bien meilleure solution
Utiliser le modèle Post/Redirect/Get (PRG)
Pour éviter ce problème, de nombreuses applications Web utilisent le modèle PRG : au lieu de renvoyer directement une page HTML, l'opération POST renvoie une commande de redirection (à l'aide du code de réponse HTTP 303 (parfois 302) et de l'en-tête de réponse HTTP "Location"), qui demande au navigateur de charger une autre page à l'aide d'une requête HTTP GET. La page résultante peut alors être mise en signet ou rechargée en toute sécurité sans effets secondaires inattendus.
Côté client
Si vous voulez le faire entièrement côté client, vous devrez modifier l'historique du navigateur avant de procéder à l'actualisation :
if ( window.history.replaceState ) {
window.history.replaceState( null, null, window.location.href );
}
window.location = window.location.href;
0 votes
Soumettre à nouveau un POST (ce que fait un rechargement) fera toujours apparaître cet avertissement. Vous pouvez effectuer un autre POST au lieu de recharger, mais cela remplira l'historique du navigateur de l'utilisateur si vous le faites trop souvent, et il recevra toujours l'avertissement s'il appuie sur le bouton "retour".
1 votes
Duplicata : stackoverflow.com/questions/1073593/