Как я могу отменить загрузку файла с помощью плагина jQuery форм - PullRequest
3 голосов
/ 13 октября 2011

Я использую плагин jQuery Forms для асинхронной загрузки файлов. В настоящее время единственный способ для пользователя прервать загрузку - это нажать кнопку «Стоп» в своем браузере, что также может привести к остановке других запросов javascript и ajax. Я хотел бы предоставить кнопку отмены, но я не нашел способа отменить загрузку , как это происходит с использованием API.

Есть ли встроенный способ или хотя бы надежный хак, который я могу использовать, чтобы отменить загрузку, когда она происходит?

Ответы [ 2 ]

5 голосов
/ 14 октября 2011

Метод ajaxForm принимает все те же параметры, что и jQuery.ajax, поэтому можно перехватить фиктивный xhr, который он создает в обработчике beforeSend. xhr имеет метод прерывания, который прерывает загрузку файла:

f.ajaxForm({
    beforeSend: function(xhr) {
        cancelBtn.click(xhr.abort);
    }});
1 голос
/ 18 мая 2015

С декабря 2012 года возможен прямой доступ к xhr:

var form = $('#myForm').ajaxSubmit({ ... });
var xhr = form.data('jqxhr');
....
$('#cancel').on('click', function(){
    xhr.abort();
});

Я использую его для отмены загрузки файла ajax.

ссылка - https://github.com/malsup/form/issues/221

...