0

Restlet (Google App Engine では 2.0M6) のアノテーションは、実際にはリソースのメソッドの順序に敏感です。html フォーム データを投稿する場合は、受信リソースで @Post("html") メソッドが @Post("xml") メソッドよりも上にあることを確認してください。少なくとも Firefox は両方のコンテンツ タイプをリクエストの Accept ヘッダーに入れるため、最初に一致したメソッドが処理されます。

問題は、メソッドの優先順位を制御する他の方法があるかどうかです。

たとえば、クライアントが text/html のみを受け入れるようにしたいと考えています。

4

1 に答える 1

1

Acceptヘッダーを変更するための何らかのクライアント側のhtmlフォーム属性またはJavaScriptがあるかどうかを尋ねているというあなたのコメントによると、答えはAFAIK:いいえです。クリックされたリンクやユーザーが送信したフォームは対象外です。コメントで述べたように、JS を使用してリンクのクリックとフォームの投稿をインターセプトし、代わりに XHR を使用できるかもしれませんが、可能であればそれはおそらく難しいでしょう。

ところで、XmlHttpRequest は実際には XML とは何の関係もありません。リクエストとレスポンスの両方について、あらゆる種類のコンテンツを処理できます。HTML のスニペットを XHR リクエストに返し、DOM インジェクションを使用してページを動的に更新することは非常に一般的です。

于 2010-02-10T19:31:57.583 に答える