回答編集履歴
2
追記
answer
CHANGED
@@ -16,4 +16,13 @@
|
|
16
16
|
|
17
17
|
> 解決策
|
18
18
|
|
19
|
-
post() に指定するミドルウェア内で ``_method`` パラメータの有無で切り分ける。
|
19
|
+
post() に指定するミドルウェア内で ``_method`` パラメータの有無で切り分ける。
|
20
|
+
|
21
|
+
----
|
22
|
+
[リクエストメソッド](https://developer.mozilla.org/ja/docs/Web/HTTP/Methods) は数多くありますが、ブラウザでは GET/POST で事足りるという実装で、2種類しか使えません。
|
23
|
+
|
24
|
+
どうしても他のメソッドを使いたい場合
|
25
|
+
1. WebフォームのPOST時のオレオレ・ルールを作る(フレームワークや言語レベルでのルール)。
|
26
|
+
2. サーバー側 POST後の処理を仕様とは異なる実装(ルールに応じたフォームパラメータ名``_method`` の値)で判別、処理。ログアナライザの事情に合わせ、本来は POSTメソッドだが、別のメソッドだったとウソを記録する。
|
27
|
+
|
28
|
+
仕様に定められた通りに実装されていない環境下での「フェイク(誤魔化し)」の一例と言えます。
|
1
追記
answer
CHANGED
@@ -10,4 +10,10 @@
|
|
10
10
|
1. フォームのマークアップ構造は ``form[method=post]>input[type=hidden][name=_method][value=DELETE]``
|
11
11
|
2. POSTされたサーバー処理で ``{_method: "DELETE"}``を 優先処理するコードにした。
|
12
12
|
|
13
|
-
という話です。
|
13
|
+
という話です。
|
14
|
+
|
15
|
+
追記)
|
16
|
+
|
17
|
+
> 解決策
|
18
|
+
|
19
|
+
post() に指定するミドルウェア内で ``_method`` パラメータの有無で切り分ける。
|