asp.net - 如何终止对 .net Web 服务的 javascript 异步调用?

标签 asp.net javascript ajax

我的 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/

相关文章:

c# - 安全地实现两因素身份验证

javascript - 用特定颜色的 li 元素绘画

javascript - 在 ChartJS 的工具提示中计算值

javascript - Ractive with Require 例子

javascript - 函数在运行内部操作之前返回值

mysql - 通过ajax从mysql/php获取多维结果

jquery - 表单提交回调(使用 jQuery)

c# - 具有多个参数的 URL 作为 ASP.NET 中的查询字符串

asp.net - 不清楚的 TLS Rec 第 1 层加密警报

c# - ASP.NET-5 测试库不发现主代码