【问题标题】:Problem calling ASP.NET AJAX WebServiceProxy.invoke() Javascript method调用 ASP.NET AJAX WebServiceProxy.invoke() Javascript 方法时出现问题
【发布时间】:2009-05-11 02:55:56
【问题描述】:

我编写的一些代码有问题。我不得不匿名,但我可以给出问题。这个 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
};

【问题讨论】:

    标签: asp.net javascript ajax scriptmanager


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我确实尝试用下面的空函数替换它,但我还是得到了同样的错误: var a = window.top.window.Sys.Net.WebServiceProxy.invoke('/Data.asmx ', 'GetData', false, { "IDCode":0 }, function(a,b) { ;}, null);
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 2021-05-28
      • 1970-01-01
      • 2022-01-10
      • 2010-10-10
      • 1970-01-01
      相关资源
      最近更新 更多