Recharger la page par javascript: éviter l'avertissement "Postback"

Je déclenche une page de rechargement via javascript, en utilisant ce qui suit:

window.location.reload(true); 

Cependant, dans certains cas (du retour précédent), le navigateur me donne l'avertissement suivant: "Pour afficher la page Web à nouveau, le navigateur doit renvoyer les informations que vous avez précédemment soumises …".

Existe-t-il un moyen d'éviter ce message et de faire le postback de toute façon, car cela pourrait être source de confusion pour les utilisateurs? Si j'ai besoin de recharger la page par un autre moyen, que ce soit.

Je ne pense pas qu'il existe un moyen de faire un postback sans le message lorsque vous effectuez le rechargement.

Btw, à quoi sert le rechargement? Si vous souhaitez soumettre les informations POST à ​​nouveau, je vous suggère de soumettre manuellement les données via ajax ou une soumission de formulaire caché à l'aide de javascript.

Si vous souhaitez rafraîchir la page sans inclure les données de publication et pas simplement l'essai de postback

 window.location = window.location.href; 

La demande que vous essayez de faire à nouveau est une demande POST , d'où l'avertissement. Vous pouvez soit vous assurer que vous ne rechargez que les ressources obtenues via GET requêtes GET , soit – en soumettant une <form> cachée via la méthode POST (et donc en simulant un rechargement garanti pour ne pas être mis en cache).

Comme vous le savez probablement déjà, l'avertissement concerne l' idempotence (le manque d'effets secondaires) dans les verbes HTTP. GET (entre autres) sont (devraient être, au moins) considérés comme identiques, alors que les demandes POST permettent des modifications sur le serveur. Par conséquent, le client devrait demander à l'utilisateur de vérifier qu'il a l'intention d'effectuer l'action à nouveau.

La seule façon serait de l'empêcher de réapprendre les paramètres. Utilisez window.location = window.location

Une façon de conserver les données d'état dans une page est avec des identificateurs de fragments sur l'url, par exemple. # Filter1, # filter2, puis utilisez le plugin hashchange pratique pour jQuery pour exécuter le code (c.-à-d., Recharger la partie pertinente de la page avec de nouveaux résultats) lorsque le fragment d'URL change via l'événement onhashchange. C'est aussi agréable parce que les différents états peuvent être mis en cache et mis en cache.

http://benalman.com/projects/jquery-hashchange-plugin/

Après:

 mysql_query("insert into table (id_item, quantity, cost) values($m, '$amount', '$cost')"); 

Mettre:

 header("Location: index.php"); 

Ensuite, rechargez votre page en utilisant jquery, et vous ne recevrez pas l'avertissement "… navigateur web doit renvoyer l'information …".