当中止XHR时,jqXHR.statusText'abort'对''取消'

时间:2017-04-20 15:31:22

标签: jquery ajax xmlhttprequest jqxhr

jQuery.ajax使用的jqXHR对象有一个属性statusText,在中止XHR时可以有两个值:canceledabort。前者何时使用,后者何时使用?

1 个答案:

答案 0 :(得分:0)

以下是ajax.js的相关源代码:

        // Default abort message
        strAbort = "canceled",

        // Fake xhr
        jqXHR = {

            ...

            // Cancel the request
            abort: function( statusText ) {
                var finalText = statusText || strAbort;
                if ( transport ) {
                    transport.abort( finalText );
                }
                done( 0, finalText );
                return this;
            }
        };

        ...

        // Apply prefilters
        inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );

        // If request was aborted inside a prefilter, stop there
        if ( state === 2 ) {
            return jqXHR;
        }

        ...

        // aborting is no longer a cancellation
        strAbort = "abort";

如果您在预过滤器中中止XHR请求,那么statusTextcanceled,否则为abort