Il m'arrive de vouloir recharger une page dans Safari, alors que j'ai soumis un formulaire sur la page précédente. Existe-t-il un moyen, autre que d'entrer dans la barre d'URL (soit avec la souris, soit avec la touche + L et en appuyant sur return ), pour recharger la page sans renvoyer le formulaire ?
Réponse
Trop de publicités?À proprement parler, non. Pour les formulaires HTML simples utilisant l'interface CGI (Common Gateway Interface), la page web que vous voyez est le résultat d'un processus qui utilise les données du formulaire comme entrée. En d'autres termes, le serveur a besoin des données du formulaire pour générer la page. Il existe de nombreuses façons de contourner ce problème en utilisant des bases de données dorsales, des cookies, du javascript, etc. Mais d'une manière générale : pas de formulaire, pas de résultat.
Vous avez mentionné le fait de cliquer sur la barre d'URL et d'appuyer sur la touche retour, mais si le formulaire utilise la méthode GET (données du formulaire dans l'URL elle-même), le fait de cliquer sur la barre d'URL et d'appuyer sur la touche retour permet effectivement de renvoyer le formulaire. Toutefois, si le formulaire utilise la méthode POST (données de formulaire envoyées dans le corps de la requête HTTP), le fait de cliquer sur la barre d'URL et d'appuyer sur n'enverra pas les données de formulaire et la page ne sera donc pas régénérée.
Notez que si vous demandez à Safari de recharger la page de résultat d'un formulaire, il vous demandera généralement de confirmer que vous voulez vraiment le faire, puis il renverra les données du formulaire. La raison de cette demande est qu'il peut y avoir un effet secondaire du formulaire (comme débiter votre carte de crédit) que vous ne voulez pas répéter. C'est une mauvaise conception des images de synthèse, mais cela arrive.