使用Post Send -php AS3加载文件



我正在尝试从旧的AS2教程中锻炼如何修改名片的AS3/PHP Ecard System的脚本,但我找不到任何地方的参考文献D执行以下操作:

AS2

loadVariablesNum ("http://www.theSite.com/Cards/bCard/"+BcardText+".txt", 0);

AS3

// setup URLLoader
var loader:URLLoader = new URLLoader;
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
// event listener for function when loaded
loader.addEventListener(Event.COMPLETE, varsLoaded);
// file URLRequest
loader.load(new URLRequest("http://www.theSite.com/Cards/bCard/"+BcardText+".txt"));
// set the variables from the data.txt file
function varsLoaded (event:Event):void {
    //Load Data
cName.text = loader.data.cName;
cDescription.text = loader.data.cDescription;
}

随之而来的是启动以下错误消息:

  • 错误打开URL'http://www.thesite.com/cards/bcard/undefined.txt'错误:错误#2101:将传递给urlvariables.decode()的字符串必须是包含名称/值对的URL编码的查询字符串。在错误$/throwerror()在flash.net:: urlvariables/decode()在flash.net:: urlvariables()在flash.net:: urlloader/oncomplete()

我无法弄清楚您在何处或如何定义 +BcardText+将其拉入。

任何帮助都会非常感激。

我不确定我是否什至是从AS2开始的,这似乎是加载它的逻辑方法,但我以前没有处理具有参数的外部文件。

预先感谢您是否可以提供帮助!

新加载程序 - 修复!!!

var loader:URLLoader = new URLLoader();   
var request:URLRequest = new  URLRequest("http://www.theSite.com/Cards/bCard/"+BcardText+".txt");           
loader.load(request);
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, loaderIOErrorHandler);
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
function loaderIOErrorHandler(event:IOErrorEvent):void{
trace("ioErrorHandler: " + event);
}
// set the variables from the .txt file
function completeHandler (event:Event):void {
//trace("Content: " + loader.data);
this.Variable1.text = loader.data.Variable1; //Whatever dataField1 you saved as
this.Variable2.text = loader.data.Variable2; //Whatever dataField2 you saved as
}

然后,您只需设置flashvars即可区分 bcardtext 在加载程序中的变量之前!

bcardText是AS2项目中定义的变量。环顾四周(也许是在以前的框架上?),您应该找到声明的位置。它看起来像是代表卡的ID。因此,每张卡都有一个唯一的文件12345.txt,09876.txt等。

var loader:URLLoader = new URLLoader();   
var request:URLRequest = new  URLRequest("http://www.theSite.com/Cards/bCard/"+BcardText+".txt");           
loader.load(request);
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, loaderIOErrorHandler);
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
function loaderIOErrorHandler(event:IOErrorEvent):void{
trace("ioErrorHandler: " + event);
}
// set the variables from the .txt file
function completeHandler (event:Event):void {
//trace("Content: " + loader.data);
this.Variable1.text = loader.data.Variable1; //Whatever dataField1 you saved as
this.Variable2.text = loader.data.Variable2; //Whatever dataField2 you saved as
}

然后,您只需设置flashvars即可在加载程序中区分 bcardtext变量!

已经搜寻了互联网,一半疯了,但终于说了我摔断了……!

非常感谢您帮助我朝正确的方向指向。@Jason @eugen

θ)

最新更新