jqXHR.statusText 'abort' vs 'canceled' 中止 XHR 时

jqXHR.statusText 'abort' vs 'canceled' when aborting the XHR

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

这里是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";

上面写着如果你在prefilter中中止XHR请求,那么statusText就是canceled,否则就是abort