3

input1とinput2の2つのフィールドを持つフラッシュアプ​​リケーションのフォームがあると想像してください。そして、ユーザーがこのフォームへの入力を完了すると、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ますか?

4

1 に答える 1

5

AS 3では、リクエストを指定するために使用するURLRequestクラスには、送信メソッドのHTTPオプションを設定するために使用できるメソッドプロパティがあります。完全なフォームを作成するには、URLRequestMethod定数POSTを使用してPOSTに設定する必要があります。 「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を使用する場合次のような理由から、navigateToURL()の代わりにURLLoaderクラスを使用する必要があります。

パラメータrequest:URLRequest —移動先のURLを指定するURLRequestオブジェクト。

Adobe AIRで実行されているコンテンツの場合、navigateToURL()関数を使用すると、ランタイムはPOSTメソッド(メソッドプロパティがURLRequestMethod.POSTに設定されているメソッド)を使用するURLRequestをGETメソッドを使用するものとして扱います。

基本的に、POST setメソッドを正しく使用したい場合は、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
*/
于 2012-06-24T00:08:03.687 に答える