如何使用jQuery表单插件取消文件上载

时间:2011-10-13 17:10:32

标签: jquery-forms-plugin asyncfileupload

我正在使用jQuery Forms插件进行异步文件上传。目前,用户中止上传的唯一方法是按下浏览器上的“停止”按钮,这可能会导致其他javascript和ajax请求停止。我想提供一个取消按钮,但我没有找到任何方法来取消上传正在发生使用API​​。

是否有内置方式,或者至少是我可以使用的强大黑客方法,在发生上传时取消上传?

2 个答案:

答案 0 :(得分:5)

ajaxForm方法采用jQuery.ajax采用的所有相同选项,因此可以捕获它在xhr处理程序中生成的虚拟beforeSendxhr有一个中止方法,可以中止文件上传:

f.ajaxForm({
    beforeSend: function(xhr) {
        cancelBtn.click(xhr.abort);
    }});

答案 1 :(得分:1)

自2012年12月起,可以直接访问xhr:

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

我用它来取消ajax文件上传。

link - https://github.com/malsup/form/issues/221