sendAndLoad (LoadVars.sendAndLoad メソッド)

public sendAndLoad(url: String, target: Object, [method: String]) : Boolean

my_lv オブジェクト内の変数を、指定された URL に送信 (Post) します。サーバーの応答がダウンロードされ、変数データとして解析され、結果の変数が target オブジェクトに挿入されます。

変数の送信方法は、LoadVars.send() の場合と同じです。変数を target にダウンロードする方法は LoadVars.load() と同じです。

Flash Player 7 より前のバージョンの Player で SWF ファイルを実行している場合、url は、呼び出し元の SWF ファイルと同じスーパードメインに属している必要があります。スーパードメインは、ファイルの URL の一番左の要素を削除することによって派生されます。たとえば、www.someDomain.com に存在する SWF ファイルは、store.someDomain.com に存在するソースからデータをロードできます。これは、どちらのファイルも同じスーパードメイン someDomain.com に属しているためです。

Flash Player 7 以降で SWF ファイルを実行している場合、url は正確に同じドメインに置かれている必要があります。たとえば www.someDomain.com に置かれている SWF ファイルは、www.someDomain.com に置かれているソースからのみデータをロードできます。異なるドメインからデータをロードする場合は、SWF ファイルをホストするサーバーに "クロスドメインポリシーファイル" を置いておく必要があります。

このメソッドは XML.sendAndLoad() と似ています。

使用できるバージョン : ActionScript 1.0、Flash Lite 2.0 - Flash Player 7 で動作が変更されました。

パラメータ

url: String - ストリング。変数のアップロード先の URL。呼び出し元の SWF ファイルが Web ブラウザで実行されている場合、url は SWF ファイルと同じドメインに属している必要があります。

target: Object - ダウンロードされる変数を受け取る LoadVars オブジェクトまたは XML オブジェクト。

method: String (オプション) - ストリング。HTTP プロトコルの GET メソッドまたは POST メソッド。デフォルト値は POST です。

戻り値

Boolean - ブール値。

次の例では、TextInput インスタンス name_ti、TextArea インスタンス result_ta、Button インスタンス submit_button をステージに追加します。ユーザーがこの例の Login ボタンインスタンスをクリックすると、send_lv および result_lv の 2 つの LoadVars オブジェクトが作成されます。send_lv オブジェクトは、name_ti インスタンスから名前をコピーし、そのデータを greeting.cfm に送信します。このスクリプトの実行結果を result_lv オブジェクトにロードし、サーバーの応答を TextArea インスタンス (result_ta) に表示します。タイムラインのフレーム 1 に次の ActionScript を追加します。

var submitListener: Object = new Object();
submitListener.click = function(evt: Object) {
    var result_lv: LoadVars = new LoadVars();
    result_lv.onLoad = function(success: Boolean) {
    if (success) {
        result_ta.text = result_lv.welcomeMessage;
    } else {
        result_ta.text = "Error connecting to server.";
    }
    };
    var send_lv: LoadVars = new LoadVars();
    send_lv.name = name_ti.text;
    send_lv.sendAndLoad("http: //www.flash-mx.com/mm/greeting.cfm", result_lv, "POST");
};
submit_button.addEventListener("click", submitListener);

より堅牢な例については、ActionScript のサンプルフォルダにある "login.fla" ファイルを参照してください。通常、"ActionScript" サンプルのフォルダへのパスは次のようになります。

関連項目

send (LoadVars.send メソッド), load (LoadVars.load メソッド), sendAndLoad (XML.sendAndLoad メソッド)