首页 > 解决方案 > 如何中止调用的ajax方法c#.net

问题描述

我有一个 ajax.cs 类,我从 javascript 端调用方法。因此,为此,我在 default.aspx 页面加载时注册了它,如下所示。

Ajax.Utility.RegisterTypeForAjax(typeof(ajax));

有时有些方法需要很长时间,那时我想中止这个调用。我怎样才能中止这个请求?

我从js调用这样的方法;

ajax.testMethod()

标签: javascriptc#asp.net.netajax

解决方案


不确定它是否有效,但不是从 C# 端中止 ajax,为什么不从 js 端取消它呢?在您的 ajax 配置中,您可以添加一个超时参数,该参数在发生时会触发您可以定义的 .error() 函数,或者如果您只想让它停止执行,则将其留空。

对于 js:

var ajax = new XMLHttpRequest();
ajax.post('your url');
ajax.timeout(10000); //or any time in milliseconds to set a timeout.
ajax.ontimeout= function(){ }//optional, just if you want a callback when ajax times out

对于 jQuery:

$.ajax({
   url:'yoururl',
   timeout: 10000,
   error: function(){
   }
});

推荐阅读