É ú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
});