我的 javascript 代码正在调用 ASP.NET Web 服务,因此我对 Web 服务进行了如下调用:
MyWebservice.GetData(param, ResponseReceived, ResponseTimeOut, ResponseError);
当Web服务返回数据时,将调用ResponseReceived方法。
然而,有时用户可能会在 Web 服务调用实际返回之前导航到另一个 url,在这种情况下,FireFox 会抛出错误,指出“oricessubg 请求时发生错误”。服务器方法 GetData 失败'
所以我的问题是,当用户导航到另一个页面或向网络服务发出另一个请求时,如何终止异步调用?我知道在普通的 XMLHttpRequest 中我可以调用 Abort 方法,但不确定如何使其与上述 Web 服务代理一起工作。
最佳答案
一个好的做法是将常用功能放在一个公共(public)位置,可以从所有页面访问该位置。
这将包括 OnError
函数。这样您就可以从所有页面安全地引用相同的函数。如果您需要提供自定义错误功能,您可以在页面上覆盖此函数,或者在常用函数中包含一个处理程序,并在已分配时调用它。
放置此类通用函数的好地方是根母版页或从根母版页引用的共享 JavaScript 文件。
这样做的好处是,希望您的 OnError
函数可以进行一些日志记录,这样您就可以了解失败的原因以及失败的频率,以便您可以相应地设计您的应用程序。
关于asp.net - 如何终止对 .net Web 服务的 javascript 异步调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3040300/