#jquery-forms-plugin #asyncfileupload
#jquery-forms-plugin #asyncfileupload
Вопрос:
Я использую плагин jQuery Forms для выполнения асинхронной загрузки файлов. В настоящее время единственный способ для пользователя прервать эту загрузку — нажать кнопку «Стоп» в своем браузере, что может привести к остановке других запросов javascript и ajax. Я хотел бы предоставить кнопку отмены, но я не нашел никакого способа отменить загрузку, поскольку это происходит с использованием API.
Есть ли встроенный способ или, по крайней мере, надежный способ, который я могу использовать, чтобы отменить загрузку по мере ее возникновения?
Ответ №1:
ajaxForm
Метод использует все те же параметры, что и jQuery.ajax, поэтому можно захватить фиктивный xhr
файл, который он создает в beforeSend
обработчике. xhr
Имеет метод прерывания, который прерывает загрузку файла:
f.ajaxForm({
beforeSend: function(xhr) {
cancelBtn.click(xhr.abort);
}});
Ответ №2:
С декабря 2012 года можно получить прямой доступ к xhr:
var form = $('#myForm').ajaxSubmit({ ... });
var xhr = form.data('jqxhr');
....
$('#cancel').on('click', function(){
xhr.abort();
});
Я использую его для отмены загрузки файлов ajax.