URL を取得するときに Web ブラウザに POST の使用を強制するにはどうすればよいでしょうか? 質問する

URL を取得するときに Web ブラウザに POST の使用を強制するにはどうすればよいでしょうか? 質問する

URL を取得するときに Web ブラウザに POST を使用するように強制するにはどうすればよいですか?

ベストアンサー1

メソッドとして post を指定する HTML フォームを使用します。

<form method="post" action="/my/url/">
    ...
    <input type="submit" name="submit" value="Submit using POST" />
</form>

もし、あんたが持っていたこれをリンクとして実現するには (推奨されません)、onclick ハンドラーでフォームを動的に構築して送信することができます。

<script type="text/javascript">
function submitAsPost(url) {
    var postForm = document.createElement('form');
    postForm.action = url;
    postForm.method = 'post';
    var bodyTag = document.getElementsByTagName('body')[0];
    bodyTag.appendChild(postForm);
    postForm.submit();
}
</script>
<a href="/my/url" onclick="submitAsPost(this.href); return false;">this is my post link</a>

これをサーバー側で強制する必要がある場合は、HTTPメソッドをチェックし、POSTでない場合は、HTTP 405 応答コード (メソッドが許可されていません)ブラウザに戻って終了します。これをどのように実装するかは、プログラミング言語やフレームワークなどによって異なります。

おすすめ記事