sendAndLoad (XML.sendAndLoad メソッド)

public sendAndLoad(url: String, resultXML: XML) : Void

指定された XML オブジェクトを XML ドキュメントにエンコードし、POST メソッドを使用して、指定された URL に送ります。さらに、サーバーの応答をダウンロードし、パラメータで指定された resultXMLobject にその応答をロードします。サーバーの応答は、XML.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 ファイルをホストするサーバーに "クロスドメインポリシーファイル" を置いておく必要があります。

sendAndLoad() メソッドを実行すると、XML オブジェクトの loaded プロパティが false に設定されます。XML データのダウンロードが終了すると、データが正常にロードされた場合は loaded プロパティが true に設定され、onLoad イベントハンドラが呼び出されます。XML データは、完全にダウンロードされるまで解析されません。XML オブジェクトに XML ツリーが既に含まれていた場合、その XML ツリーは破棄されます。

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

パラメータ

url: String - ストリング。指定された XML オブジェクトの宛先 URL です。呼び出し元の SWF ファイルが Web ブラウザで実行されている場合、url は SWF ファイルと同じドメインに属している必要があります。詳細については、「説明」を参照してください。

resultXML: XML - XML コンストラクタメソッドで作成されたターゲット XML オブジェクトで、このオブジェクトはサーバーから返される情報を受信します。

次の例には、簡単な電子商取引店頭アプリケーション用の ActionScript が含まれています。XML.sendAndLoad() メソッドは、ユーザーの名前とパスワードを含む XML エレメントを転送し、onLoad ハンドラを使用してサーバーからの応答を処理します。

var login_str: String = "<login username=\""+username_txt.text+"\" password=\""+password_txt.text+"\" />";
var my_xml: XML = new XML(login_str);
var myLoginReply_xml: XML = new XML();
myLoginReply_xml.ignoreWhite = true;
myLoginReply_xml.onLoad = myOnLoad;
my_xml.sendAndLoad("http: //www.flash-mx.com/mm/login_xml.cfm", myLoginReply_xml);
function myOnLoad(success: Boolean) {
    if (success) {
    if ((myLoginReply_xml.firstChild.nodeName == "packet") &&
        (myLoginReply_xml.firstChild.attributes.success == "true")) {
        gotoAndStop("loggedIn");
    } else {
        gotoAndStop("loginFailed");
    }
    } else {
    gotoAndStop("connectionFailed");
    }
}

関連項目

send (XML.send メソッド), load (XML.load メソッド), loaded (XML.loaded プロパティ), onLoad (XML.onLoad ハンドラ)