1

我写的一些代码有问题。我不得不匿名,但我可以给出问题。这个 javascript 在 iframe 中运行,并且是被实例化的对象的一部分。特别是问题是,每次在调用()调用中“类型'对象'无法转换为类型'功能'”时,我都会重复出现错误。但是,在 IE8 开发者插件中,检查我传递的函数的 typeof(this.AJAXCallback),它清楚地表明这是一个正在传递的函数。发生此错误是否有任何特殊原因?

MyObject.prototype.AJAXCallback=function(Data, e){
    //snip
};

MyObject.prototype.Init=function(){
    var a = window.top.window.Sys.Net.WebServiceProxy.invoke('/Data.asmx', 'GetData', false, { "IDCode":0 }, this.AJAXCallback, null);
    //snip
};
4

2 回答 2

1

我发现了问题,而且似乎与我无关。我在 web.config 文件中禁用了调试,并且错误停止了。打开调试后它也回来了,所以我认为可以肯定地说调试代码与我编写的非调试代码一样好用。特别是,它是脚本管理器的 JS 文件之一。

于 2009-05-11T18:36:08.953 回答
-1

它可能会出现问题,因为回调是一个原型。您是否尝试过将回调包装在匿名函数调用中。

MyObject.prototype.Init=function(){
    var a = window.top.window.Sys.Net.WebServiceProxy.invoke('/Data.asmx', 'GetData', false, { "IDCode":0 }, function(data,e) { 
       this.AJAXCallback(data,e); 
    }, null);
    //snip
};
于 2009-05-11T03:04:06.063 回答