1

自分が書いたコードに問題があります。私はそれを匿名化する必要がありましたが、私は問題を与えることができます。このJavaScriptはiframe内で実行され、インスタンス化されるオブジェクトの一部です。特に問題は、invoke()呼び出しで「タイプ'オブジェクト'をタイプ'関数'に変換できない」というエラーが繰り返されることです。ただし、IE8開発者アドオンでは、渡す関数のタイプ(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

コールバックはプロトタイプであるため、問題が発生している可能性があります。コールバックを無名関数呼び出しでラップしてみましたか?

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 に答える