2012-11-03 30 views
0

我想从一个旧的as2教程工作如何修改一个名片的as3/php电子名片系统的脚本,但我无法找到任何地方的参考你如何做到以下几点:使用POST扩展数据加载文件发送-php as3

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 
} 

然后你只需安装Flash变数在装载机的+ BcardText变量区分提交它之前!

+0

可能帮助这个http://stackoverflow.com/questions/3487479/url-encode-variable-in-as3? – Eugen

+0

谢谢@Eugen。我确实想过要尝试一下,因为我以前有过类似的问题,但这只是抛出了此错误消息:打开URL时出错'http://www.theSite.com/Cards/bCard/undefined.txt' 错误#2044:未处理ioError在:.文本=错误#2032:流错误。网址:http://www.esadude.com/eCards/dBText/undefined。txt \t at _eCard_SETUP_fla :: MainTimeline/frame20() – esadude

回答

0

BcardText是在as2项目中定义的变量。环顾四周(也许在以前的框架?),你应该找到它宣布的地方。它看起来像一个ID来表示卡。所以,每张卡都有一个唯一的文件12345.txt,09876.txt等

+0

嗨@Jason,** + BcardText **的唯一参考**我可以找到的是在php脚本中存储并输出数据文件,一旦创建了初始卡片。我试图把它作为链接文件中的一个变量,但仍然没有运气,我不确定这是否是正确的方式来加载它,所以寻找替代品并不容易,因为我不是甚至可以确定你所调用的文件中有变量附加​​到最后? – esadude

+0

你可以发布一个指向你正在使用的教程的链接吗?如果我能看到你的工作,我可以帮你把它移植到as3。 –

+0

这里是教程的链接,它的相当不错,但它似乎在网上很少有AS3可用 - [链接] http://www.flash-db.com/Ecards/EcardsTutorial.php?page=1我设法最终在几天的重大压力之后将其全部转化,并且将重新编写代码并在第二天为其他人提供帮助,因为这是很多人似乎与我在网上看到的一样难以解决的问题。 将很高兴回馈! – esadude

0
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 
} 

然后你只需安装Flash变数在装载机+ BcardText变量区分提交它之前!

已经在互联网上搜索过,并且已经半疯狂地工作了,但最后还是说我打破了它的回归......!

非常感谢帮助指向我正确的方向球员。 @Jason @Eugen

Θ)

+0

很高兴你得到它运行! –