Acessando o objeto XHR em $ .ajax do jQuery

É útil e às vezes necessário acessar o XHR nativo ao usar $ .ajax. Quando você estiver neste lugar – e ainda quiser que o jquery faça o trabalho pesado, faça o seguinte:

var xhr = $ .ajaxSettings.xhr ();

// Faça o que quiser com o objeto XHR. Por exemplo:

xhr.upload.addEventListener (function (event) {
// CODE !!!
}, false);

// Armazena o XHR em um fechamento.
função xhrProvider () {
return xhr;
}

// Então, ao usar $ .ajax, especifique um xhr personalizado como este:
$ .ajax ({
url: ‘ http://w00wz3rs.com ‘,
xhr: xhrProvider
});