2010-02-19 2 views
2

У меня есть приложение Flex, требующее фильтрации пользователей в зависимости от групп базы данных. В зависимости от той группы, которую они представляют, это файл config.xml, который используется для заполнения swf.Данные POST для приложения Flex/Flash (mxml)

Вот как я понимаю, как это сделать:
1. Клиент приходит на страницу .aspx с формой, требующей имени пользователя и пароля.
2. На стороне сервера подтверждаю учетные данные пользователя
3. Как только имя пользователя/пароль действительны, я перенаправляю файл mxml с файлом config.xml в заголовках html (post).

Моя проблема возникает, когда мне нужно получить данные сообщения из запроса http. Предположим, у меня есть этот код:

<mx:Application initialize="init()"> 

    <mx:Script> 
     <![CDATA[ 
      private function init():void 
      { 
       // get the post data here 
      } 

      /* More code here */ 
     ]]> 
    </mx:Script> 

</mx:Application> 

Как получить данные сообщения о функции init().

спасибо.

ответ

2

Для тех, кто был бы заинтересован, я нашел некоторые ресурсы в центре Adobe Rss для Adobe 3.

В принципе, нет способа передачи данных с помощью метода POST. Вы можете добавить параметры в конце вас швейцарских франков URL (метод GET), как показано здесь: http://livedocs.adobe.com/flex/3/html/help.html?content=deep_linking_5.html#245869

Другой способ встроить их в страницу с помощью метода Flashvars показано здесь: http://livedocs.adobe.com/flex/3/html/help.html?content=passingarguments_3.html#229997

Если вы все еще удивляюсь, как мне это удастся, если вы столкнетесь в той же ситуации. Вот моя идея (не стесняйтесь поделиться, если у вас есть другое видение):

1.User журналы в login.aspx
2.Depending о полномочиях пользователей на стороне сервера код изменения файла index.html в вставьте правильный файл xml в объект flash.
3.With метод FlashVars, я возвращаю путь к файлу xml и работу!

Если вы когда-либо сталкивались с подобной ситуацией и мне нужна помощь, свяжитесь со мной.

+0

Хороший пост, Можете ли вы поделиться реализацией кода этого? как вы изменили файл index.html и как добавить данные post в flashVars на странице .aspx .. –

0

Я не думаю, что можно получить данные POST, но другие могут иметь способ. Альтернативное решение будет:

  1. пользователь входит в систему: login.aspx
  2. Пользователь направлено на флэш-контента: content.html вложения content.swf
  3. Флэш запрашивает от сервера config.xml: content.swf делает запрос HTTP для config.xml.aspx
  4. сервера обеспечивает пользовательскую конфигурацию в config.xml.aspx

В вашем init(), вы должны сделать запрос URLLoader, чтобы получить конфигурацию, и вы выполнили бы настройку в обработчике Event.COMPLETE.

Другая возможность - использовать HTTP-файлы cookie - не обрабатывается Flash, но вы можете получить их через Javascript - см. Этот класс CookieUtil.

+0

Дело в том, что мне нужен правильный путь файла config.xml во время выполнения, мне нужно передать его как аргумент или что-то в этом роде. – ALOToverflow

+0

Почему сервер не может решить правильный путь в вызове 'config.xml.aspx' и отвечать соответствующими данными? –

+0

В swf у меня есть параметр, представляющий путь к файлу config.xml. В зависимости от учетных данных пользователя я должен изменить этот путь на правильный XML-файл. Вы видите другие варианты? – ALOToverflow

Смежные вопросы