Apache flex 从AIR应用程序向浏览器窗口发送POST变量

Apache flex 从AIR应用程序向浏览器窗口发送POST变量,apache-flex,air,flash-builder,Apache Flex,Air,Flash Builder,我正在构建一个AIR应用程序。基本上,我要做的是使用navigateToUrl打开一个浏览器窗口,给它指定一个名称,然后使用POST方法将变量发送到新打开的窗口 编辑:我需要窗口是可见的,这就是为什么我绝对需要使用navigateToUrl函数 我已经知道我不能这样做,AIR应用程序将使用GET方法发送变量 var vars:URLVariables = new URLVariables(); vars.myVar = "Hello my friend"; var req:URLRequest

我正在构建一个AIR应用程序。基本上,我要做的是使用navigateToUrl打开一个浏览器窗口,给它指定一个名称,然后使用POST方法将变量发送到新打开的窗口

编辑:我需要窗口是可见的,这就是为什么我绝对需要使用navigateToUrl函数

我已经知道我不能这样做,AIR应用程序将使用GET方法发送变量

var vars:URLVariables = new URLVariables();
vars.myVar = "Hello my friend";

var req:URLRequest = new URLRequest("http://example.com/my-page.php");
req.method = "POST":
req.data = vars;

navigateToURL(req);
考虑到我必须发送多行文本的变量数量,我绝对需要使用POST方法发送变量,否则Internet Explorer将截断查询字符串。。。在Firefox和Safari中工作得很好,但不幸的是,我们总是希望不会!处理IE

所以我在想这样的事情:

import flash.net.navigateToURL;

private var _timer:Timer;

protected function loadPage():void
{
    var req:URLRequest = new URLRequest("http://example.com/my-page.php");
    navigateToURL(req, "myPageName");

    _timer = new Timer(3000, 1);
    _timer.addEventListener(TimerEvent.TIMER, postVars);
    _timer.start();
}

protected function postVars(event:TimerEvent):void
{
    // I'm looking to send variables using the POST method to "myPageName"
    // and possibly using URLVariables()??

    _timer.stop();
}

有没有关于Flex编码器的想法?谢谢

我认为您需要做的是打开一个您可以控制的页面,然后使用ExternalInterface将值注入一个隐藏表单,然后在该页面表单中执行post操作。提交,等等


这几乎可以在瞬间发生,对最终用户来说,这一切都是天衣无缝的。

Bingo!!我的方法很好,在我的mx:HTML窗口中与JS通信。。。。将在周一传递这些变量。谢谢,祝你周末愉快!