我一直在线跟踪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函数时会失败。你认为这会导致什么?
提前致谢。
答案 0 :(得分:0)
在尝试在其他任何地方使用它之前,您需要声明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);
尝试一下,让我知道它是否有效。