1

Adobe Flex Web アプリケーションを Adob​​e AIR アプリケーションに変換しています。サーバー側には、HTTP POST 要求のみを受け入れるサーブレットがあります。navigateToUrl()その POST 要求の結果で Web ページを開くために使用します。Web アプリケーションでは、これは完全に機能します (要求の結果で新しいタブが開かれます) が、まったく同じコードを使用する Adob​​e AIR クライアントからは機能しません。HTTP POSTは、サーブレットによって受け入れられないHTTP GETに変換されます。Web ブラウザには次のように表示されます。

HTTP Status 405 - Request method 'GET' not supported.

リクエストは次のように行われます。

var request:URLRequest = new URLRequest();
request.method = URLRequestMethod.POST;
request.url = presentationModel.exportURL;

(exportURL変数は次のような文字列ですhttp://ipaddress:8080/myapp/export/eventhistory1339595975131.html)

このフォーラムの投稿を確認しましたが、そこに示されている解決策 (文字列を指す a を文字列自体に置き換えるconst) は意味がなく、試してみるとうまくいきませんでした。

私もこの質問を見ましたが、本当の答えはありません。コメントは、ユーザーがURLに末尾のスラッシュを追加して機能させたことを示していますが、URLが次の形式であるため、私の場合は機能しません。 http://ipaddress:8080/myapp/export/eventhistory1339595975131.html

Adobe Air 3.3 と Flex SDK 4.5 を使用しています

4

1 に答える 1

1

リクエストをに変換するように見えるメソッドのドキュメントを見るとnavigateToURLPOSTGET

パラメーター

request:URLRequest — 移動先の URL を指定する URLRequest オブジェクト。Adobe AIR で実行されるコンテンツの場合、navigateToURL() 関数を使用すると、ランタイムは、POST メソッドを使用する URLRequest (メソッド プロパティが URLRequestMethod.POST に設定されているメソッド) を GET メソッドを使用するものとして扱います。

おそらく代わりにURLLoaderを使用しますか?

于 2012-06-14T13:11:53.240 に答える