Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拒绝所有AJAX请求_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 拒绝所有AJAX请求

Javascript 拒绝所有AJAX请求,javascript,jquery,ajax,Javascript,Jquery,Ajax,我希望根据变量立即拒绝所有AJAX请求。我知道如何钩住XMLHttpRequest,但不知道如何拒绝它 (function(open) { XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { this.addEventListener("readystatechange", function() { if

我希望根据变量立即拒绝所有AJAX请求。我知道如何钩住XMLHttpRequest,但不知道如何拒绝它

(function(open) {
            XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
                this.addEventListener("readystatechange", function() {
                    if(this.readyState === 1){
                        // stop all ajax attempts if we're disconnected
                        if(!self.isConnected){
                            console.log('rejecting')
                            // reject here
                            this.abort(); // ???
                        }
                    }
                }, false);
                open.call(this, method, url, async, user, pass);
            };
        })(XMLHttpRequest.prototype.open);
我还想知道是否在
this.readyState===0
类似于调用它“当请求第一次启动时”

您可以使用abort函数中止ajax请求,首先将请求保存在某个变量中并对其调用abort

$(document).ready(
    var xhr;

    var fn = function(){
        if(xhr && xhr.readyState != 4){
            xhr.abort();
        }
        xhr = $.ajax({
            url: 'ajax/progress.ftl',
            success: function(data) {
                //do something
            }
        });
    };

    var interval = setInterval(fn, 500);
);
这里有另一种创建AJAX池设置的方法,我不推荐这种方法


您可以使用abort函数中止ajax请求,首先将请求保存在某个变量中,并对其调用abort

$(document).ready(
    var xhr;

    var fn = function(){
        if(xhr && xhr.readyState != 4){
            xhr.abort();
        }
        xhr = $.ajax({
            url: 'ajax/progress.ftl',
            success: function(data) {
                //do something
            }
        });
    };

    var interval = setInterval(fn, 500);
);
这里有另一种创建AJAX池设置的方法,我不推荐这种方法

我只是加了一句

this.abort()

这似乎会在需要时立即中止所有请求。

this.abort()


这似乎会在需要时立即中止所有请求。

我对所有请求都感兴趣requests@Tester232323:然后您需要将所有请求保留在某个数组中,然后您可以对它们调用abort。。。您需要维护一个请求变量是否没有访问浏览器自己的xhr队列的权限?@tester23223:实际上不是由浏览器提供的,其次这将忽略响应,它不会停止服务器上的执行看起来我实际上可以调用
this.abort()
我对所有这些都感兴趣requests@Tester232323:然后您需要将所有请求保留在某个数组中,然后您可以对它们调用abort。。。您需要维护一个请求变量是否没有访问浏览器自己的xhr队列的权限?@Tester23223:实际上不是由浏览器提供的,其次,这将忽略响应,根本不会停止服务器上的执行。看起来我实际上可以调用
this.abort()