2009-09-23 6 views
2

Dans mon application Web, je fournis un lien, en cliquant sur ce qui va à une autre page, affiche des données, affiche une page et revient en arrière en utilisant la fonction javascript back().Utilisation de la fonction Javascript Retour après le formulaire POST Envoyer

Cela fonctionnait bien mais cela échoue dans certains cas. Par exemple, ce lien apparaît après la soumission d'un formulaire. Lorsque la fonction back() est appelée ici, le message WebPorted Expired s'affiche car il s'agit d'une opération POST.

Comment puis-je revenir à la page précédente en utilisant javascript dans cette situation?

S'il vous plaît vos entrées ... fournir

Répondre

1

Vous ne pouvez pas faire quoi que ce soit sur l'expiration de la page de JavaScript - voilà comment le navigateur choisit de protéger l'utilisateur de présenter à nouveau la forme accidentelle. En fonction du fonctionnement de votre application, vous pouvez utiliser le code POST/Redirect/GET approach pour que les utilisateurs se posent toujours sur un formulaire GET après avoir envoyé leur formulaire. Vous disposez donc toujours d'un état valide.

Pour être honnête, 99% du temps en utilisant la fonctionnalité back() en JavaScript est une indication que quelque chose ne va pas dans l'approche sous-jacente. C'est trop lourd de problèmes pour être réalisable, comme vous le voyez ici. Vous pourriez aller plus loin si vous commencez une nouvelle question pour décrire ce que vous essayez d'accomplir. Il y a un lot de gens vraiment intelligents ici qui peuvent tous mettre leur tête ensemble et vous aider à trouver quelque chose.

0

Pouvez-vous expliquer pourquoi vous devez naviguer vers la page précédente en utilisant un script côté client? Je suppose que c'est parce que l'utilisateur peut arriver à cette page de diverses autres pages et que vous voulez les rediriger vers la page d'où ils viennent. Vous pouvez toujours stocker l'URL de la page précédente de l'utilisateur dans une session ou un objet de cache et les rediriger vers cette URL dans le code côté serveur. Ou, si vous savez d'où ils proviendront toujours, dirigez-les vers une URL statique. Je pourrais être en mesure d'offrir plus d'aide si vous offrez plus de détails.

+0

Oui, l'utilisateur peut arriver à partir de plusieurs autres pages et je veux les rediriger vers leur URL précédente. La page que je suis en train de modifier fait partie du portlet. Ainsi, les données d'en-tête seront déjà envoyées au moment où ce portlet est exécuté. Donc, je ne peux pas fournir une redirection de serveur en vérifiant le referer. – jobinbasani

Questions connexes