Проблема вызова ASP.NET AJAX WebServiceProxy.invoke () метод Javascript - PullRequest
1 голос
/ 11 мая 2009

У меня проблема с кодом, который я написал. Я должен был это сделать, но я могу решить проблему. Этот javascript работает внутри iframe и является частью объекта, который создается. В частности, проблема заключается в том, что я получаю повторяющуюся ошибку каждый раз, когда «Тип» Объект »не может быть преобразован в тип« Функция »в вызове invoke (). Однако в дополнении для разработчиков 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
};

Ответы [ 2 ]

1 голос
/ 11 мая 2009

Я нашел проблему, и, похоже, это не с моей стороны. Я отключил отладку в файле web.config, и ошибка прекратилась. Он также вернулся после того, как отладка была включена, так что я думаю, можно с уверенностью сказать, что код отладки не работал так же хорошо, как и код без отладки, который я написал. В частности, это был один из файлов JS менеджера сценариев.

0 голосов
/ 11 мая 2009

Это может вызывать проблемы, потому что Callback является прототипом. Вы пытались обернуть обратный вызов в анонимный вызов функции.

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