0

Flex アプリから Rails アプリに POST リクエストを送信するのに問題があります。常にGETを送信しているようです。

これは私のサービス宣言です:

<mx:HTTPService id="add_email_service" showBusyCursor="true" result="parseJoinResult();" fault="onJoinFault(event)" useProxy="false" />

アプリケーションの init 関数で、メソッドを POST に設定しました。

add_email_service.url = join_url;
add_email_service.method = "POST";

ただし、Rails アプリは、送信時にリクエストを投稿リクエストとして認識します。これを知っているのは、routes.rb ファイルでリクエストを POST にする必要がある場合:

# RESTful API for joining a mailing list
  map.connect 'mailing_lists/join/:id', 
      :controller => 'mailing_lists', 
      :action => 'join', 
      :conditions => { :method => :post}

リクエストが失敗し、開発ログで確認できます:

「ApplicationController#index の処理中 (2009-04-23 14:25:35 の 127.0.0.1 の場合) [GET]、ActionController::MethodNotAllowed (投稿要求のみが許可されます。):」

なぜこれが起こっているのか誰にも分かりますか?

4

2 に答える 2

1

古いバージョンのFlashPlayer(一部のブラウザー)では、変数が送信されていない場合、要求がPOSTからGETに自動的に切り替わります。

リクエストにパラメータを追加してみて、それで修正されるかどうかを確認してください。

FlashPlayerをRestfulRailsと統合しますか?

他の問題にも備えましょう。

  1. Flash Playerは200のHTTPステータスコードのみを受け入れることができます。それ以外はすべて例外をスローし、メッセージ本文にアクセスできなくなります。
  2. PUTSまたはDELETEHTTPメソッドを送信することはできません
于 2009-05-11T21:17:42.073 に答える
0

文字通り200だけだと思います。

于 2009-05-13T06:42:02.220 に答える