1

リソース uri は/avl/leagues/leagueName. アイデアは、提供された名前のリーグを安らかな方法で削除することです。以下を試してみましたが、ブラウザは常に のGET代わりに を送信していDELETEます。理由はありますか?サーバー側でTomcatを使用しています。

<form action="/avl/leagues/Cccccc" method="DELETE">
   <input type="submit" value="Cancel league">
</form>
4

2 に答える 2

4

HTML フォームは、送信用にGET と POST のみを公式にサポートしています。

通常、この制限を回避するには、Ajax 経由でリクエストを送信するか、フォームに隠しフィールドを含めて、このリクエストを GET ではなく DELETE として処理するようにサーバー側コードに指示します。(もちろん、サーバー側のコードは、そのフィールドを探してそれに応じて動作することを認識している必要があります。)

于 2013-08-24T11:38:19.957 に答える
2

ブラウザーは、安らかなクライアントとしてはあまり優れていません。基本的に、フォームには POST と GET を使用します。それだけです。

Spring MVC フォーム タグ ライブラリでは、メソッド IIRC として DELETE を指定できます。実際には、メソッドは実際には DELETE ではありませんが (ブラウザーがそのようなリクエストを送信できないため)、サーバーにそのことを伝える隠しフィールドをフォームに追加します。 )、サーバーは DELETE として処理する必要があります (フィルターのおかげで)。同様の質問とその回答については、Spring MVC での PUT および DELETE メソッドの使用を参照してください。

于 2013-08-24T11:39:36.093 に答える