我正在构建一个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编码器?谢谢!
答案 0 :(得分:0)
我认为您需要做的是打开您可以控制的页面,然后使用ExternalInterface
将值注入隐藏表单,然后在该页面中执行post操作{{ 1}}等等。
这种情况几乎可以立即发生,并且最终用户看起来都非常无缝。