Rob*_*t W 19 javascript jquery
有没有办法在没有请求对象句柄的情况下全局中止所有Ajax请求?
我问的原因是我们有一个非常复杂的应用程序,我们使用setTimeOut()在后台运行许多不同的Ajax请求.如果用户单击某个按钮,我们需要暂停所有正在进行的请求.
Sar*_*raz 13
你需要调用abort()方法:
var request = $.ajax({
    type: 'POST',
    url: 'someurl',
    success: function(result){..........}
});
之后,您可以中止请求:
request.abort();
这样,您需要为ajax请求创建一个变量,然后您可以使用该abort方法随时中止请求.
另外看看:
小智 5
您可以使用以下脚本:
// $.xhrPool and $.ajaxSetup are the solution
$.xhrPool = [];
$.xhrPool.abortAll = function() {
    $(this).each(function(idx, jqXHR) {
        jqXHR.abort();
    });
    $.xhrPool = [];
};
$.ajaxSetup({
    beforeSend: function(jqXHR) {
        $.xhrPool.push(jqXHR);
    },
    complete: function(jqXHR) {
        var index = $.xhrPool.indexOf(jqXHR);
        if (index > -1) {
            $.xhrPool.splice(index, 1);
        }
    }
});
在http://jsfiddle.net/s4pbn/3/上检查结果。
| 归档时间: | 
 | 
| 查看次数: | 24073 次 | 
| 最近记录: |