0

我无法让我的 flex 应用程序向我的 Rails 应用程序发送 POST 请求。它似乎总是发送 GET。

这是我的服务声明:

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

在我的应用程序初始化函数中,我将方法设置为 POST:

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

但是,当我发送请求时,我的 Rails 应用程序仍将请求视为发布请求。我知道这一点,因为如果我要求在我的 routes.rb 文件中发布请求:

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

请求错误,我可以在我的开发日志中看到:

“处理 ApplicationController#index (for 127.0.0.1 at 2009-04-23 14:25:35) [GET], ActionController::MethodNotAllowed (只允许发布请求。):”

有谁知道为什么会这样?

4

2 回答 2

1

如果没有发送变量,旧版本的 Flash Player(在某些浏览器中)会自动将您的请求从 POST 切换到 GET。

尝试在您的请求中添加一个参数,看看是否可以解决它。

将 Flash Player 与 Restful Rails 集成?

也为其他一些问题做好准备:

  1. Flash Player 只能接受 200 的 HTTP 状态代码,其他一切都会引发异常并阻止您获取消息正文。
  2. 您不能发送 PUTS 或 DELETE HTTP 方法
于 2009-05-11T21:17:42.073 回答
0

我相信它实际上只有200个。

于 2009-05-13T06:42:02.220 回答