尝试在 PHP 文件中调用方法时出现 ActionScript 错误
Posted
技术标签:
【中文标题】尝试在 PHP 文件中调用方法时出现 ActionScript 错误【英文标题】:ActionScript error when attempting call method within PHP file 【发布时间】:2013-12-21 06:49:34 【问题描述】:我一直在关注在线 Flash 教程,并创建了一个简单的 Flash 界面。我正在尝试通过 php 文件从我的 SQL 数据库中检索数据并显示。编译时出现以下错误:
错误 #1009:无法访问空对象引用的属性或方法
var variables1:URLVariables = new URLVariables();
var varSend1:URLRequest = new URLRequest("databaseCall.php");
varSend1.method = URLRequestMethod.POST;
varSend1.data = variables1;
var varLoader1:URLLoader=new URLLoader();
varLoader1.dataFormat = URLLoaderDataFormat.VARIABLES;
varLoader1.addEventListener(Event.COMPLETE,completeHandler1);
variables1.comType = "requestEntries";
varLoader1.load(varSend1);
function completeHandler1(event:Event):void
if(event.target.data.returnBody =="")
gbOutput_txt.text = "No data coming through";
else
gbOutput_txt.condenseWhite = true;
gbOutput_txt.htmlText = "" +event.target.data.returnBody;
我的代码与教程中使用的代码完全匹配。我已经修改了php文件以简单地返回“”所以问题几乎肯定出在动作脚本中......我认为:S当他调用completeHandler1函数时编译器会崩溃。您认为这可能是什么原因造成的?
提前致谢。
【问题讨论】:
分享原始教程链接可能会有所帮助。 【参考方案1】:您需要先声明 completeHandler1 函数,然后再尝试在其他任何地方使用它。
这是您修改的代码以描述我在说什么。
var variables1:URLVariables = new URLVariables();
var varSend1:URLRequest = new URLRequest("databaseCall.php");
varSend1.method = URLRequestMethod.POST;
varSend1.data = variables1;
function completeHandler1(event:Event):void
if(event.target.data.returnBody =="")
gbOutput_txt.text = "No data coming through";
else
gbOutput_txt.condenseWhite = true;
gbOutput_txt.htmlText = "" +event.target.data.returnBody;
var varLoader1:URLLoader=new URLLoader();
varLoader1.dataFormat = URLLoaderDataFormat.VARIABLES;
varLoader1.addEventListener(Event.COMPLETE,completeHandler1);
variables1.comType = "requestEntries";
varLoader1.load(varSend1);
试一试,让我知道它是否有效。
【讨论】:
您好,感谢您的回复。这似乎并没有解决问题。以下是错误消息:TypeError:错误 #1009:无法访问空对象引用的属性或方法。在 AS3_Adam_mysql_Guestbook_fla::testimonials_1/completeHandler1()[AS3_Adam_MySQL_Guestbook_fla.testimonials_1::frame1:9] 在 flash.events::EventDispatcher/dispatchEventFunction() 在 flash.events::EventDispatcher/dispatchEvent() 在 flash.net::URLLoader/onComplete () 啊,我想我知道问题所在了。处理程序中引用的gbOutput_txt
对象为 null,因为它的范围不正确。如果可能,尝试通过 event
对象访问它来更改引用该对象的方式。您可能需要进行一些调试来确定事件对象中的哪个位置(如果它存在于其中),可以从中引用它。否则,您将必须创建一个自定义事件类,您可以将该对象传递给您的事件处理程序。
嗨,再次感谢。我明白你的意思了。我会考虑你的 cmets 再试一次。这让我感到困惑,因为我一直在观看的教程与在视频中成功编译的代码完全相同。奇怪的。谢谢以上是关于尝试在 PHP 文件中调用方法时出现 ActionScript 错误的主要内容,如果未能解决你的问题,请参考以下文章
尝试调用方法 imagerotate 时出现 500 内部服务器错误
调用 Intent.ACTION_CALL 时出现 ActivityNotFoundException
在文章中提交 PHP 表单时出现 Joomla 2.5 404 错误