Aquí mi código:
let xhr; function uploadFile() { const bar = $("#progressUpload"); const dialog = $("#modalUpload"); const alertOk = $("#alertUploadOk"); const btnClose = $("#btnClose"); const btnAbort = $("#btnAbort"); dialog.modal("show"); btnClose.prop("disabled", true); btnAbort.prop("disabled", false); xhr = $("#formUploadConfig").ajaxForm({ // <--- does not store the Ajax call beforeSubmit: function() { let percentVal = '0%'; bar.width(percentVal) bar.html(percentVal).attr('aria-valuenow', percentVal); }, uploadProgress: function(event, position, total, percentComplete) { let percentVal = percentComplete + '%'; bar.width(percentVal) bar.html(percentVal).attr('aria-valuenow', percentVal); }, success: function(response) { let percentVal = '100%'; bar.width(percentVal) bar.html(percentVal).attr('aria-valuenow', percentVal); alertOk.show(); }, complete: function(xhr) { if (xhr.responseText) { btnClose.prop("disabled", false); btnAbort.prop("disabled", true); } }, abort: function () { alert("aborted"); } }); } Mi objetivo es almacenar la llamada Ajax para llamar a xhr.abort(); según sea necesario. Si estaba usando la función ajax estándar, era simple:
var xhr = $.ajax({ ...pero ahora estoy tratando de usar el complemento JQuery AjaxForm y no entiendo cómo recuperar esta variable.