web-dev-qa-db-fra.com

Empêcher la soumission de formulaire après le clic du bouton Précédent du navigateur

Au début du Web, il était problématique de cliquer sur le bouton Back du navigateur après avoir cliqué sur Submit pour que le formulaire soit soumis à nouveau, ce qui pourrait entraîner un double achat, par exemple.

Cela ne semble plus être un problème. Comment cela a-t-il été corrigé? Les sites individuels doivent-ils contourner ce problème ou les navigateurs ont-ils changé?

2
Roger Dahl

Une façon d'éviter cela consiste à utiliser le modèle POST/Redirect/GET .

Au lieu d'envoyer directement un 200 après avoir reçu la demande POST, le serveur envoie à la place une redirection 303 (ou 302). Le client le suit et obtient (via GET) un 200 then. L'actualisation de cette page répète le dernier GET, pas le précédent POST.

Pour les questions de mise en œuvre, voir la balise Stack Overflow " post-redirect-get ".

4
unor

J'ai utilisé un javascript POST des données du formulaire suivi d'un js redirigé. L'utilisation du bouton Précédent ne provoque pas la soumission de ces forums.

0
nemmy