var my_lv:LoadVars = new LoadVars();
my_lv.name1 = name1_txt.text;
my_lv.send("test4.cgi", "_top", "GET");
プロパティという形では存在しませんが、
URLエンコードしないようにできる方法があります。
変数が強制的にURLエンコードされます。
しかし、その送信メソッド内部で
URLエンコードするために内部的に呼び出されるメソッド
toString()メソッド
を、URLエンコードしないように一時的に上書き(オーバーライド)することで、
URLエンコードしない送信メソッドを作ることができます。
Flash/ActionScript/URLエンコードしないでGET,POST送信するテクニック - ジャックズラボ jack's Lab
URLエンコードしないで送信する関数の実装はこんな感じです
///////////////////////////////////////////////// // URLエンコードしないsendメソッド // LoadVars.sendNoEnc() LoadVars.prototype.sendNoEnc = function( url, target, method) { // 正規toStringを退避 LoadVars.prototype._toString = LoadVars.prototype.toString; // toStringメソッドを上書きする // unescapeをかませる LoadVars.prototype.toString = function() {return unescape(this._toString());}; // _toStringに権限設定 3 : CanDelete=Yes, IsHiden=Yes ASSetPropFlags(LoadVars.prototype, "_toString", 3); // send実行 this.send(url, target, method); // 退避した正規toStringを戻す LoadVars.prototype.toString = LoadVars.prototype._toString; };ASSetPropFlags(LoadVars.prototype, "sendNoEnc", 3);
ありがとうございます。すばらしいです!
ちゃんとオーバーライドもできるんですね。