これは可能ですか?
ユーザーのブラウザがリダイレクトされるのを見てきましたが、上記の方法については明確ではありません。
POSTで要求されたページを新しいウィンドウで開くリンクが必要な場合は、いくつかのアイデアがあります。ただし、POSTリクエストはブックマークできないことに注意してください。
新しいウィンドウでPOST要求されたページを開くボタンを作成できます。
<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>
リンクのように見せたい場合は、フォームを送信するonClick属性を使用してリンクを作成できます。
<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>
OnClickパーツはフォームを送信し、新しいウィンドウでPOST要求されたページを開きます。 return false
は、ブラウザが現在のウィンドウのhrefアドレスにも同時にアクセスするのを防ぎます。 JavaScriptが無効になっている場合、またはリンクがブックマークされている場合、hrefアドレスはフォールバックとして使用されますが、結果のページはPOST値を受け取りません。これは、ユーザーがリンクをブックマークする場合、ユーザーを混乱させるか、ユーザーに不親切になる可能性があります。
リンクをブックマーク可能にする場合は、ページがGETパラメーターを受け入れることができるかどうかを調査します。その場合、ブックマーク可能なリンクを作成できます。
<a href="http://example.com/example.php?name1=value1&name2=value2"
target="_blank">Open results in a new window</a>