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 応答コード (メソッドが許可されていません)ブラウザに戻って終了します。これをどのように実装するかは、プログラミング言語やフレームワークなどによって異なります。