ok - just for future reference in case anyone else runs into this issue
the error occurs when the javascript function invoking the PageMethod is
called from a different window
( mozilla seems to be maybe getting confused as to which objects live in
which window ? - or not )
<script type="text/javascript">
var imagebrowser =null;
function SelectImage()
{
. . .
imagebrowser =
window.open("Selector.aspx","Selector","menubar=0, minimizable=0,modal=1,status=0,toolbar=0,width=600 ,height=600");
}
/*
PageMethods call will fail under mozilla if called from this
function when called from another window : opener.SelectCallback(
selectdURL );
splitting this into 2 functions and using timer to invoke second
part , letting this & functions complete solves the problem
function SelectCallback( url )
{
imagebrowser.close();
imagebrowser=null;
. . .
PageMethods.DoSomething( url , DoSomethingCallback , Timeout ,
Error );
}
*/
function SelectCallback( url )
{
imagebrowser.close();
imagebrowser=null;
setTimeout("SelectCallback2('"+url+"')",0);
}
function SelectCallback2( path )
{
. . .
PageMethods.DoSomething( path , DoSomethingCallback, Timeout ,
Error );
}
function DoSomethingCallback( rslt )
{
. . .
}
function Timeout( txt )
{
alert('Timeout '+txt);
}
function Error( txt )
{
alert('Error '+txt);
}
</script>
<input type="button" value="Select Image" onclick="GetImage();return 0;" />
"germ" <ge**@canada.comwrote in message
news:uv**************@TK2MSFTNGP04.phx.gbl...
so ... what .. is this a dirty little secret that I wasn't supposed to
mention ?
Is no one else using asp.net ajax web service calls or are they just
ignoring any browsers that generate this error ?
"germ" <ge**@canada.comwrote in message
news:u3**************@TK2MSFTNGP03.phx.gbl...
>doing a simple page webmethod call an a page via PageMethods works fine
in ie7 & opera9
the same call on firefox ( and I assume netscape ) generates the
following error :
Error: [Exception... "Component returned failure code: 0x80040111
(NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult:
"0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame ::
http://hgha.gerzio.ca/ScriptResource...79517344763787
:: Sys$Net$XMLHttpExecutor$get_statusCode :: line 4166" data: no]
Source File:
http://hgha.gerzio.ca/ScriptResource...79517344763787
Line: 4166
The script code this points to is :
//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjax.js
// Microsoft AJAX Framework.
. . .
function Sys$Net$XMLHttpExecutor$get_statusCode() {
/// <value type="Number"></value>
if (arguments.length !== 0) throw Error.parameterCount();
if (!this._responseAvailable) {
throw
Error.invalidOperation(String.format(Sys.Res.cann otCallBeforeResponse,
'get_statusCode'));
}
if (!this._xmlHttpRequest) {
throw
Error.invalidOperation(String.format(Sys.Res.cann otCallOutsideHandler,
'get_statusCode'));
}
>>> return this._xmlHttpRequest.status;
}
Google turns up a number of references to this problem in general but no
fixes for asp.net ajax in particular.
Since this problem is caused by a problem buried in the microsoft ajax
code I am at a loss as to how to proceed.
Do we just drop ajax for firefox & netscape users until MS puts out a fix
?
Or is there a fix out there that I haven't stumbled across yet ?
Gerry