Est-ce possible?
J'ai vu le navigateur de l'utilisateur être redirigé, mais je ne vois pas comment procéder.
Si vous voulez juste un lien qui ouvre une page POST-demandée dans une nouvelle fenêtre, voici quelques idées. Cependant, sachez qu'une demande POST ne peut pas être mise en signet.
Vous pouvez créer un bouton qui ouvre une page demandée par le POST dans une nouvelle fenêtre.
<form method="post" action="http://example.com/example.php"
target="_blank">
<input type="hidden" name="name1" value="value1">
<input type="hidden" name="name2" value="value2">
<input type="submit" value="Open results in a new window">
</form>
Si vous souhaitez que cela ressemble à un lien, vous pouvez créer un lien avec un attribut onClick qui soumet le formulaire.
<form name="myform" method="post" action="http://example.com/example.php"
target="_blank">
<input type="hidden" name="name1" value="value1">
<input type="hidden" name="name2" value="value2">
</form>
<a href="http://example.com/example.php"
onClick="document.forms['myform'].submit(); return false;">Open results
in a new window</a>
La partie onClick soumet le formulaire, ce qui ouvre la page demandée par le POST dans une nouvelle fenêtre. Le return false
empêche le navigateur de se rendre simultanément à l'adresse href de la fenêtre en cours. Si Javascript est désactivé ou si le lien est mis en favori, l'adresse href est utilisée comme solution de secours, mais la page résultante ne reçoit aucune valeur POST. Cela pourrait prêter à confusion ou être peu convivial pour vos utilisateurs s'ils ajoutaient le lien au signet.
Si vous souhaitez que le lien devienne un signet, déterminez si votre page peut accepter les paramètres GET. Si c'est le cas, vous pouvez créer un lien avec un signet.
<a href="http://example.com/example.php?name1=value1&name2=value2"
target="_blank">Open results in a new window</a>