Flash Lite 2 |
|||
| Flash Lite 2.x ActionScript リファレンスガイド > ActionScript クラス > XML > sendAndLoad (XML.sendAndLoad メソッド) | |||
指定された 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 ハンドラ)