Отправка переменных POST в окно браузера из приложения AIR - PullRequest
0 голосов
/ 15 июля 2011

Я создаю приложение 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-кодеров? СПАСИБО!

1 Ответ

0 голосов
/ 15 июля 2011

Я думаю, вам нужно открыть страницу, которой вы управляете, затем использовать ExternalInterface, чтобы ввести значения в скрытую форму, а затем выполнить операцию post на этой странице form.submit(), и т.д.

Это может произойти почти мгновенно, и все это будет казаться очень плавным для конечного пользователя.

...