我不知道为什么当我用这种方式编写时,这个工具会起作用:
lv = new LoadVars();
lv.sVar1 = "value1";
lv.sVar2 = "value2";
lv.onLoad = onLoadCallBack;
lv.sendAndLoad("http://localhost/tiempo/flash/rsstoflash.php?" + new Date(), lv, "POST");
但是如果以这种方式将此代码放入函数中:
function carga() {
lv = new LoadVars();
lv.sVar1 = "value1";
lv.sVar2 = "value2";
lv.onLoad = onLoadCallBack;
lv.sendAndLoad("http://localhost/tiempo/flash/rsstoflash.php?" + new Date(), lv, "POST");
}
carga();
编译告诉我:
打开网址时出错 '文件:/// C | / Web服务器/网络/蒂恩波/闪光灯/未定义' 打开URL时出错 '文件:/// C | / Web服务器/网络/蒂恩波/闪光灯/未定义' 打开URL时出错 '文件:/// C | /网络服务器/网络/蒂恩波/闪光/未定义'
有什么想法吗?
答案 0 :(得分:0)
一个问题可能是范围。
当你在函数内声明你的var lv时,它是一个局部变量。因此,一旦调用它的函数完成就不存在。
因此,这可以防止lv的回调函数被触发。
假设您在代码中的其他位置声明了onLoadCallBack函数,那么解决此问题的方法可能是全局声明var lv = new LoadVars();
(即在函数外部),或者生成数组或其他全局数据用于容纳加载器实例的容器(如果你想一次运行多个,比如说)。
这样的事情看起来像:
var lv_array = new Array();
function carga() {
var lv = new LoadVars();
lv.sVar1 = "value1";
lv.sVar2 = "value2";
lv.onLoad = onLoadCallBack;
lv.sendAndLoad("http://localhost/tiempo/flash/rsstoflash.php?" + new Date(), lv, "POST");
}
carga();