Представьте, что у меня есть форма во флэш-приложении с двумя полями input1 и input2. И когда пользователь заполняет эту форму, она переходит на страницу php. На данный момент я использую метод $_GET
для отправки данных.
Как это:
var request:URLRequest; request = new URLRequest("http://site.com/page.php?data1="+input1.text+"&data2="+input2.text); navigateToURL(request);
И в php-коде:
$_GET["data1"]; $_GET["data2"];
Но таким образом информация остается в URL-адресе. Как я могу отправить это через $_POST
?
в AS 3 класс URLRequest, который вы используете для указания вашего запроса, имеет свойство метода, которое может использоваться для установки его опции HTTP для метода отправки, вам нужно установить его в POST с помощью POST постоянной URLRequestMethod для идеальной формы, или вы можете использовать Строка «POST».
Вы можете найти исчерпывающий пример на snipplr
поэтому в двух словах:
var url:String = "http://localhost/myPostReceiver.php"; var request:URLRequest = new URLRequest(url); var requestVars:URLVariables = new URLVariables(); requestVars.foo = "bar"; // ... fill in your data request.data = requestVars; request.method = URLRequestMethod.POST; // after this load your url with an UrlLoader or navigateToUrl
При использовании Adobe Air Вам необходимо использовать класс URLLoader вместо navigateToURL () из-за следующего лакомого кусочка:
Запрос параметров: URLRequest – объект URLRequest, который указывает URL-адрес для перехода к.
Для содержимого, выполняющегося в Adobe AIR, при использовании функции navigateToURL () среда выполнения рассматривает URLRequest, который использует метод POST (тот, у которого его свойство метода установлено в URLRequestMethod.POST), с использованием метода GET .
В принципе, всякий раз, когда вы хотите правильно использовать метод POST, как указано в документации для navigateToUrl :
Далее в php вы получите переменную в суперглобальном массиве $ _POST , где вы можете получить доступ к ней как таковой:
<?php $foo = $_POST['foo']; /* $foo now contains 'bar' assignment to another value is not necessary to use $_POST['foo'] in any function or statement */