42

Rfc2616 には、GET と POST 以外にも、DELETE や PUT などの多くのメソッドがリストされています。ただし、html フォームのメソッド フィールドでは、GET または POST のみを指定できるようです。

GET や POST 以外のリクエスト メソッドを使用する HTML ページにリンクやフォームを作成することはできますか?

4

6 に答える 6

17

以外のものを使用するリンクを作成することはできませんGET。HTML が始まって以来、リンクは冪等であり、副作用がないことが意図されてきました。

フォームと についてはXMLHTTPRequests、Caps のリンクを参照してください。PUT、DELETE、HEAD などのメソッドは、ほとんどの Web ブラウザーで使用できますか? .

于 2011-08-03T13:41:23.803 に答える
16

デフォルトでは、これを行う方法はありません。リンクは常に GET を実行し、フォームは GET または POST を使用できます

とはいえ、少し JavaScript を使えば可能です。data-methodたとえば Rails には、リンクに属性を追加するヘル​​パーが同梱されています。Rails-UJS は、これらのリンクのクリックを透過的にインターセプトし_method、通常の HTTP メソッドをオーバーライドするために使用されるパラメーターでフォーム送信をトリガーする jQuery ライブラリです。最後に、Rack はパラメーターでリクエストをインターセプトし_method、リクエスト メソッドを の値で上書きします_method

他のフレームワークも間違いなく同様のパターンに従います。

さらに詳細が必要な場合は、Rails、Rails-UJS、および Rackがどのように連携してこれを提供するかについての説明を書き上げました。

ライブラリがどのように機能するかを知っておくとよいでしょう。

于 2016-05-17T17:07:36.330 に答える
-8

data-method 属性を追加するだけで、<a data-method='put' href='whatever'>link</a>

于 2013-12-05T19:03:56.470 に答える