我有Flex应用程序需要根据数据库组过滤用户。根据它们是哪个组,这是一个用于填充swf的config.xml文件。
以下是我如何做到这一点:
1.客户端来到.aspx页面,其中包含需要用户名和密码的表单。
2.在服务器端,我确认用户凭证
3.一旦用户名/密码有效,我将使用html标题中的config.xml文件重定向到mxml文件(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()函数的发布数据。
谢谢。
答案 0 :(得分:2)
对于那些感兴趣的人,我在Adobe Flex 3 Ressource中心找到了一些资源。
基本上,目前没有使用POST方法传递数据的方法。您可以在swf 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.用户登录login.aspx
2.根据用户的凭据,服务器端代码修改index.html文件以在flash对象中嵌入正确的xml文件。
3.使用FlashVars方法,我恢复了xml文件路径并完成了工作!
如果您遇到类似情况并需要帮助,请与我联系。
答案 1 :(得分:0)
我认为不可能获得POST数据,但其他人可能有办法。另一种解决方案是:
login.aspx
content.html
嵌入content.swf
content.swf
向config.xml.aspx
config.xml.aspx
在init()
函数中,您将发出URLLoader
请求以获取配置,并且您将在Event.COMPLETE处理程序中进行配置。
另一种可能性是使用HTTP Cookie - 不是由Flash本机处理的,但您可以通过Javascript访问它们 - 请参阅此CookieUtil类。