Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
Jquery 是否有必要在AJAX超时时中止?_Jquery - Fatal编程技术网

Jquery 是否有必要在AJAX超时时中止?

Jquery 是否有必要在AJAX超时时中止?,jquery,Jquery,我有一个ajax GET请求,超时2秒。如果请求超时,我不希望请求仍然挂在那里。在2秒钟的时候,我只想停止一切 我想知道如果已经达到超时,是否有必要调用abort(),或者达到超时阈值是否会自动中止一切 request = $.ajax({ type: 'GET', url: url, timeout: 2000, success: function (data) {

我有一个ajax GET请求,超时2秒。如果请求超时,我不希望请求仍然挂在那里。在2秒钟的时候,我只想停止一切

我想知道如果已经达到超时,是否有必要调用
abort()
,或者达到超时阈值是否会自动中止一切

request = $.ajax({
            type: 'GET',
            url: url,
            timeout: 2000, 
            success: function (data) {

                // do some stuff

            },
            error: function(x, t, m) {

                if(t==="timeout") {
                    request.abort(); // is this necessary?
                    // do some other stuff

                } // end if timeout
            } // end error function
        }); // end ajax 

不,没有必要。在内部,当达到超时时,jQuery将为您中止XHR

如果选中,则可以看到此操作:

// Timeout
if (s.async && s.timeout > 0) {
    timeoutTimer = setTimeout(function () {
        jqXHR.abort("timeout");
    },
    s.timeout);
}

不,没有必要中止,当达到超时时,请求将被取消。如果jQuery没有为您这样做,它将做得非常糟糕。谢谢,我只是想确定一下。我在任何地方都找不到确切的答案。