Проблема отправки запроса из приложения Flex на серверную часть Ruby on Rails - PullRequest
0 голосов
/ 23 апреля 2009

У меня проблемы с тем, чтобы мое приложение flex отправило запрос POST в приложение Rails. Кажется, всегда отправлять 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 по-прежнему видит запрос как почтовый запрос, когда я отправляю его. Я знаю это, потому что, если я требую, чтобы запрос был POST в моем файле rout.rb:

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

ошибка запроса, и я могу видеть в моем журнале разработчиков:

"Обработка индекса ApplicationController # (для 127.0.0.1 в 2009-04-23 14:25:35) [GET], ActionController :: MethodNotAllowed (Разрешены только почтовые запросы.): "

Кто-нибудь знает, почему это происходит?

Ответы [ 2 ]

1 голос
/ 12 мая 2009

Старые версии Flash Player (в некоторых браузерах) автоматически переключали бы ваш запрос с POST на GET, если не было отправлено никаких переменных.

Попробуйте добавить параметр к вашему запросу и посмотрите, исправит ли это.

Интеграция Flash Player с Restful Rails?

Приготовьтесь и к другим проблемам:

  1. Flash Player может принимать только HTTP-код состояния 200, все остальное выдает исключение и не позволяет получить доступ к телу сообщения.
  2. Вы не можете отправлять PUTS или DELETE HTTP методы
0 голосов
/ 13 мая 2009

Я верю, что буквально 200.

...