我正在使用jQuery Forms插件來執行異步文件上傳。目前,用戶中止上傳的唯一方法是在瀏覽器上按下「停止」按鈕,這可能會導致其他javascript和ajax請求停止。我想提供一個取消按鈕,但我還沒有找到任何方式取消上傳,因爲它正在使用API發生。如何取消使用jQuery表單插件的文件上傳
是否有內置的方式,或者至少可以使用一個強大的黑客來取消上傳?
我正在使用jQuery Forms插件來執行異步文件上傳。目前,用戶中止上傳的唯一方法是在瀏覽器上按下「停止」按鈕,這可能會導致其他javascript和ajax請求停止。我想提供一個取消按鈕,但我還沒有找到任何方式取消上傳,因爲它正在使用API發生。如何取消使用jQuery表單插件的文件上傳
是否有內置的方式,或者至少可以使用一個強大的黑客來取消上傳?
ajaxForm
方法採用jQuery.ajax所需的所有選項,因此可以捕獲它在beforeSend
處理程序中生成的虛擬xhr
。該xhr
有中止的文件上傳中止方法:
f.ajaxForm({
beforeSend: function(xhr) {
cancelBtn.click(xhr.abort);
}});
自2012年12月就可以直接訪問XHR:
var form = $('#myForm').ajaxSubmit({ ... });
var xhr = form.data('jqxhr');
....
$('#cancel').on('click', function(){
xhr.abort();
});
我用它來取消AJAX文件上傳。